<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>79508</bug_id>
          
          <creation_ts>2012-02-24 10:44:40 -0800</creation_ts>
          <short_desc>Switch indexeddb to use supplemental IDL for WorkerContext</short_desc>
          <delta_ts>2012-03-16 08:15:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>80094</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>564449</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-02-24 10:44:40 -0800</bug_when>
    <thetext>Switch indexeddb to use supplemental IDL for WorkerContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564450</commentid>
    <comment_count>1</comment_count>
      <attachid>128758</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-02-24 10:46:09 -0800</bug_when>
    <thetext>Created attachment 128758
[WIP] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564451</commentid>
    <comment_count>2</comment_count>
      <attachid>128759</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-02-24 10:48:55 -0800</bug_when>
    <thetext>Created attachment 128759
[WIP] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564452</commentid>
    <comment_count>3</comment_count>
      <attachid>128758</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-24 10:49:29 -0800</bug_when>
    <thetext>Comment on attachment 128758
[WIP] Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=128758&amp;action=review

&gt; Source/WebCore/workers/WorkerContext.h:177
&gt;  #if ENABLE(INDEXED_DATABASE)
&gt; -        IDBFactory* webkitIndexedDB() const;
&gt; +        IDBFactory* idbFactory() { return m_idbFactory.get(); }
&gt; +        void setIDBFactory(PassRefPtr&lt;IDBFactory&gt;);
&gt; +        IDBFactoryBackendInterface* idbFactoryBackendInterface() { return m_idbFactoryBackendInterface.get(); }
&gt; +        void setIDBFactoryBackendInterface(PassRefPtr&lt;IDBFactoryBackendInterface&gt;);
&gt;  #endif

We should be able to remove the ENABLE(INDEXED_DATABASE) from WorkerContext using something analogous to PageSupplement.  It might be slightly trickier though because WorkerContext is used on many threads.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564472</commentid>
    <comment_count>4</comment_count>
      <attachid>128759</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-24 11:02:27 -0800</bug_when>
    <thetext>Comment on attachment 128759
[WIP] Patch

Attachment 128759 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11627106</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564476</commentid>
    <comment_count>5</comment_count>
      <attachid>128766</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-02-24 11:04:46 -0800</bug_when>
    <thetext>Created attachment 128766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580102</commentid>
    <comment_count>6</comment_count>
      <attachid>128766</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-15 21:18:34 -0700</bug_when>
    <thetext>Comment on attachment 128766
Patch

Looks like abarth snached  this at Bug 80094 :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580530</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-03-16 08:15:53 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 80094 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128758</attachid>
            <date>2012-02-24 10:46:09 -0800</date>
            <delta_ts>2012-02-24 10:49:29 -0800</delta_ts>
            <desc>[WIP] Patch</desc>
            <filename>bug-79508-20120224134604.patch</filename>
            <type>text/plain</type>
            <size>8517</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwODgyMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEyLTAyLTI0ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBTd2l0Y2ggaW5kZXhlZGRi
IHRvIHVzZSBzdXBwbGVtZW50YWwgSURMIGZvciBXb3JrZXJDb250ZXh0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQor
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6Cisg
ICAgICAgIChET01XaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpkZWZhdWx0
U3RhdHVzKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyQ29udGV4dDo6bm90aWZ5T2JzZXJ2ZXJzT2ZTdG9wKToKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRl
eHQ6OmlkYkZhY3RvcnkpOgorICAgICAgICAoV29ya2VyQ29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJDb250ZXh0OjppZGJGYWN0b3J5QmFja2VuZEludGVyZmFjZSk6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKwogMjAxMi0wMi0yNCAgQWRhbSBLbGVpbiAg
PGFkYW1rQGNocm9taXVtLm9yZz4KIAogICAgICAgICBEb24ndCBub3RpZnkgdGhlIGluc3BlY3Rv
ciBvZiBOb2RlIGluc2VydGlvbnMgaW5pdGlhdGVkIGJ5IHRoZSBwYXJzZXIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkJKHJldmlzaW9uIDEwODgxNCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQkod29ya2luZyBjb3B5KQpAQCAtNzI3LDYgKzcyNyw3IEBACiAgICAgICAgICAgICAnTW9kdWxl
cy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9n
ZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdNb2R1
bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaWRsJywKKyAgICAgICAgICAg
ICdNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0SW5kZXhlZERCLmlkbCcsCiAgICAgICAg
ICAgICAnTW9kdWxlcy9pbnRlbnRzL0RPTVdpbmRvd0ludGVudHMuaWRsJywKICAgICAgICAgICAg
ICdNb2R1bGVzL2ludGVudHMvSW50ZW50LmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRl
bnRzL0ludGVudFJlc3VsdENhbGxiYWNrLmlkbCcsCkBAIC0xMjkyLDYgKzEyOTMsOCBAQAogICAg
ICAgICAgICAgJ01vZHVsZXMvZ2VvbG9jYXRpb24vTmF2aWdhdG9yR2VvbG9jYXRpb24uaCcsCiAg
ICAgICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNw
cCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5kZXhlZERhdGFi
YXNlLmgnLAorICAgICAgICAgICAgJ01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRl
eGVkREIuY3BwJywKKyAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0
SW5kZXhlZERCLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQuY3BwJywK
ICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50LmgnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvaW50ZW50cy9JbnRlbnRSZXF1ZXN0LmNwcCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmgJKHJldmlzaW9uIDEwODgxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAogI2lmbmRlZiBET01XaW5kb3dfaApAQCAtMjE5LDcgKzIxOSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgZG91YmxlIGRldmljZVBpeGVsUmF0aW8oKSBjb25zdDsKIAogICAgICAg
ICBQYXNzUmVmUHRyPFdlYktpdFBvaW50PiB3ZWJraXRDb252ZXJ0UG9pbnRGcm9tUGFnZVRvTm9k
ZShOb2RlKiwgY29uc3QgV2ViS2l0UG9pbnQqKSBjb25zdDsKLSAgICAgICAgUGFzc1JlZlB0cjxX
ZWJLaXRQb2ludD4gd2Via2l0Q29udmVydFBvaW50RnJvbU5vZGVUb1BhZ2UoTm9kZSosIGNvbnN0
IFdlYktpdFBvaW50KikgY29uc3Q7ICAgICAgICAKKyAgICAgICAgUGFzc1JlZlB0cjxXZWJLaXRQ
b2ludD4gd2Via2l0Q29udmVydFBvaW50RnJvbU5vZGVUb1BhZ2UoTm9kZSosIGNvbnN0IFdlYktp
dFBvaW50KikgY29uc3Q7CiAKICAgICAgICAgQ29uc29sZSogY29uc29sZSgpIGNvbnN0OwogCkBA
IC00NzQsNyArNDc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGluZSBTdHJpbmcg
RE9NV2luZG93OjpkZWZhdWx0U3RhdHVzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBt
X2RlZmF1bHRTdGF0dXM7Ci0gICAgfSAKKyAgICB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCShyZXZpc2lv
biAxMDg4MTQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICoKICAqLwog
CkBAIC04Niw4ICs4Niw2IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2VuZGlmCiAK
LSNpbmNsdWRlICJJREJGYWN0b3J5LmgiCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
Q2xvc2VXb3JrZXJDb250ZXh0VGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpU
YXNrIHsKQEAgLTUxMSwxOSArNTA5LDYgQEAgdm9pZCBXb3JrZXJDb250ZXh0Ojpub3RpZnlPYnNl
cnZlcnNPZlN0bwogICAgIH0KIH0KIAotI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotSURC
RmFjdG9yeSogV29ya2VyQ29udGV4dDo6d2Via2l0SW5kZXhlZERCKCkgY29uc3QKLXsKLSAgICBp
ZiAoIXNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vzc0RhdGFiYXNlKCkpCi0gICAgICAgIHJldHVy
biAwOwotICAgIGlmICghbV9pZGJGYWN0b3J5QmFja2VuZEludGVyZmFjZSkKLSAgICAgICAgbV9p
ZGJGYWN0b3J5QmFja2VuZEludGVyZmFjZSA9IElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlOjpj
cmVhdGUoKTsKLSAgICBpZiAoIW1faWRiRmFjdG9yeSkKLSAgICAgICAgbV9pZGJGYWN0b3J5ID0g
SURCRmFjdG9yeTo6Y3JlYXRlKG1faWRiRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuZ2V0KCkpOwot
ICAgIHJldHVybiBtX2lkYkZhY3RvcnkuZ2V0KCk7Ci19Ci0jZW5kaWYKLQogV29ya2VyRXZlbnRR
dWV1ZSogV29ya2VyQ29udGV4dDo6ZXZlbnRRdWV1ZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
ZXZlbnRRdWV1ZS5nZXQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4
dC5oCShyZXZpc2lvbiAxMDg4MTQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQog
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqCiAgKi8KIApAQCAtMTcwLDcgKzE3MCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZvaWQgdW5yZWdpc3Rlck9ic2VydmVyKE9ic2VydmVyKik7CiAgICAgICAgIHZvaWQgbm90
aWZ5T2JzZXJ2ZXJzT2ZTdG9wKCk7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0gICAg
ICAgIElEQkZhY3RvcnkqIHdlYmtpdEluZGV4ZWREQigpIGNvbnN0OworICAgICAgICBJREJGYWN0
b3J5KiBpZGJGYWN0b3J5KCkgeyByZXR1cm4gbV9pZGJGYWN0b3J5LmdldCgpOyB9CisgICAgICAg
IHZvaWQgc2V0SURCRmFjdG9yeShQYXNzUmVmUHRyPElEQkZhY3Rvcnk+KTsKKyAgICAgICAgSURC
RmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UqIGlkYkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlKCkgeyBy
ZXR1cm4gbV9pZGJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5nZXQoKTsgfQorICAgICAgICB2b2lk
IHNldElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlKFBhc3NSZWZQdHI8SURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2U+KTsKICNlbmRpZgogCiAgICAgcHJvdGVjdGVkOgpJbmRleDogU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCShyZXZpc2lvbiAxMDg4MTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0y
MCw3ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICoKICAqLwogCkBAIC02NywxMSArNjcsMTEg
QEAgbW9kdWxlIHRocmVhZHMgewogCiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNl
Ci0gICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAg
ICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsK
LSAgICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLCAKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIs
IAorICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVy
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFu
IHVzZUNhcHR1cmUpOwogICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZ0
KQogICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKQEAgLTEyNywyMCArMTI3LDYg
QEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICBhdHRyaWJ1dGUgRmxvYXQzMkFycmF5Q29uc3Ry
dWN0b3IgRmxvYXQzMkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKICAgICAgICAg
YXR0cmlidXRlIEZsb2F0NjRBcnJheUNvbnN0cnVjdG9yIEZsb2F0NjRBcnJheTsgLy8gVXNhYmxl
IHdpdGggbmV3IG9wZXJhdG9yCiAgICAgICAgIGF0dHJpYnV0ZSBEYXRhVmlld0NvbnN0cnVjdG9y
IERhdGFWaWV3OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSNpZiBkZWZpbmVkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAmJiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRQotICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCRmFjdG9yeSB3ZWJraXRJ
bmRleGVkREI7Ci0KLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkN1
cnNvckNvbnN0cnVjdG9yIHdlYmtpdElEQkN1cnNvcjsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVu
YWJsZWRBdFJ1bnRpbWVdIElEQkRhdGFiYXNlQ29uc3RydWN0b3Igd2Via2l0SURCRGF0YWJhc2U7
Ci0gICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJEYXRhYmFzZUVycm9y
Q29uc3RydWN0b3Igd2Via2l0SURCRGF0YWJhc2VFcnJvcjsKLSAgICAgICAgYXR0cmlidXRlIFtW
OEVuYWJsZWRBdFJ1bnRpbWVdIElEQkRhdGFiYXNlRXhjZXB0aW9uQ29uc3RydWN0b3Igd2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb247Ci0gICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50
aW1lXSBJREJGYWN0b3J5Q29uc3RydWN0b3Igd2Via2l0SURCRmFjdG9yeTsKLSAgICAgICAgYXR0
cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkluZGV4Q29uc3RydWN0b3Igd2Via2l0SURC
SW5kZXg7Ci0gICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJLZXlSYW5n
ZUNvbnN0cnVjdG9yIHdlYmtpdElEQktleVJhbmdlOwotICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5h
YmxlZEF0UnVudGltZV0gSURCT2JqZWN0U3RvcmVDb25zdHJ1Y3RvciB3ZWJraXRJREJPYmplY3RT
dG9yZTsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQlJlcXVlc3RD
b25zdHJ1Y3RvciB3ZWJraXRJREJSZXF1ZXN0OwotICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxl
ZEF0UnVudGltZV0gSURCVHJhbnNhY3Rpb25Db25zdHJ1Y3RvciB3ZWJraXRJREJUcmFuc2FjdGlv
bjsKLSNlbmRpZgogICAgIH07CiAKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128759</attachid>
            <date>2012-02-24 10:48:55 -0800</date>
            <delta_ts>2012-02-24 11:04:43 -0800</delta_ts>
            <desc>[WIP] Patch</desc>
            <filename>bug-79508-20120224134851.patch</filename>
            <type>text/plain</type>
            <size>16463</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwODgyMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAyLTI0ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBTd2l0Y2ggaW5kZXhlZGRi
IHRvIHVzZSBzdXBwbGVtZW50YWwgSURMIGZvciBXb3JrZXJDb250ZXh0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQor
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREQi5jcHA6
IEFkZGVkLgorICAgICAgICAoV29ya2VyQ29udGV4dEluZGV4ZWREQjo6V29ya2VyQ29udGV4dElu
ZGV4ZWREQik6CisgICAgICAgIChXb3JrZXJDb250ZXh0SW5kZXhlZERCOjp+V29ya2VyQ29udGV4
dEluZGV4ZWREQik6CisgICAgICAgIChXb3JrZXJDb250ZXh0SW5kZXhlZERCOjp3ZWJraXRJbmRl
eGVkREIpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRleGVk
REIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdvcmtlckNvbnRleHRJ
bmRleGVkREIpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRl
eGVkREIuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGFn
ZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKERPTVdpbmRvdyk6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OmRlZmF1bHRTdGF0dXMpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250ZXh0Ojpub3RpZnlPYnNlcnZlcnNP
ZlN0b3ApOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyQ29udGV4dDo6aWRiRmFjdG9yeSk6CisgICAgICAgIChXb3JrZXJDb250ZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OmlkYkZhY3RvcnlCYWNrZW5kSW50
ZXJmYWNlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsOgorCiAyMDEyLTAy
LTI0ICBBZGFtIEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIERvbid0IG5v
dGlmeSB0aGUgaW5zcGVjdG9yIG9mIE5vZGUgaW5zZXJ0aW9ucyBpbml0aWF0ZWQgYnkgdGhlIHBh
cnNlcgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gMTA4ODE0KQorKysgU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC03MjcsNiArNzI3LDcgQEAKICAg
ICAgICAgICAgICdNb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3IuaWRsJywKICAgICAg
ICAgICAgICdNb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3JDYWxsYmFjay5pZGwnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5p
ZGwnLAorICAgICAgICAgICAgJ01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRleGVk
REIuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvRE9NV2luZG93SW50ZW50cy5p
ZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaWRsJywKICAgICAgICAg
ICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50UmVzdWx0Q2FsbGJhY2suaWRsJywKQEAgLTEyOTIs
NiArMTI5Myw4IEBACiAgICAgICAgICAgICAnTW9kdWxlcy9nZW9sb2NhdGlvbi9OYXZpZ2F0b3JH
ZW9sb2NhdGlvbi5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJ
bmRleGVkRGF0YWJhc2UuY3BwJywKICAgICAgICAgICAgICdNb2R1bGVzL2luZGV4ZWRkYi9ET01X
aW5kb3dJbmRleGVkRGF0YWJhc2UuaCcsCisgICAgICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIv
V29ya2VyQ29udGV4dEluZGV4ZWREQi5jcHAnLAorICAgICAgICAgICAgJ01vZHVsZXMvaW5kZXhl
ZGRiL1dvcmtlckNvbnRleHRJbmRleGVkREIuaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRl
bnRzL0ludGVudC5jcHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnQuaCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0ludGVudFJlcXVlc3QuY3BwJywKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRleGVkREIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dvcmtl
ckNvbnRleHRJbmRleGVkREIuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREQi5jcHAJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwg
UmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJXb3JrZXJDb250ZXh0SW5kZXhlZERCLmgiCisKKyNpZiBFTkFCTEUoV09SS0VSUykKKworI2lm
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCRmFjdG9yeS5oIgorI2lu
Y2x1ZGUgIldvcmtlckNvbnRleHQuaCIKKworV29ya2VyQ29udGV4dEluZGV4ZWREQjo6V29ya2Vy
Q29udGV4dEluZGV4ZWREQigpCit7Cit9CisKK1dvcmtlckNvbnRleHRJbmRleGVkREI6On5Xb3Jr
ZXJDb250ZXh0SW5kZXhlZERCKCkKK3sKK30KKworSURCRmFjdG9yeSogV29ya2VyQ29udGV4dElu
ZGV4ZWREQjo6d2Via2l0SW5kZXhlZERCKFdvcmtlckNvbnRleHQqIHdvcmtlcikKK3sKKyAgICBp
ZiAoIXdvcmtlci0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzRGF0YWJhc2UoKSkKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgaWYgKCF3b3JrZXItPmlkYkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNl
KCkpCisgICAgICAgIHdvcmtlci0+c2V0SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UoSURCRmFj
dG9yeUJhY2tlbmRJbnRlcmZhY2U6OmNyZWF0ZSgpKTsKKyAgICBpZiAoIXdvcmtlci0+aWRiRmFj
dG9yeSgpKQorICAgICAgICB3b3JrZXItPnNldElEQkZhY3RvcnkoSURCRmFjdG9yeTo6Y3JlYXRl
KHdvcmtlci0+aWRiRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UoKSkpOworICAgIHJldHVybiB3b3Jr
ZXItPmlkYkZhY3RvcnkoKTsKK30KKyNlbmRpZiAvLyBJTkRFWEVEX0RBVEFCQVNFCisKKyNlbmRp
ZiAvLyBXT1JLRVJTCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3Jr
ZXJDb250ZXh0SW5kZXhlZERCLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREQi5oCShyZXZpc2lvbiAwKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREQi5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExLCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
CisgKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgorICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
CisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdvcmtl
ckNvbnRleHRJbmRleGVkREJfaAorI2RlZmluZSBXb3JrZXJDb250ZXh0SW5kZXhlZERCX2gKKwor
I2lmIEVOQUJMRShXT1JLRVJTKQorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSURCRmFjdG9yeTsKK2NsYXNzIFdvcmtlckNvbnRl
eHQ7CisKK2NsYXNzIFdvcmtlckNvbnRleHRJbmRleGVkREIgeworcHVibGljOgorICAgIHN0YXRp
YyBJREJGYWN0b3J5KiB3ZWJraXRJbmRleGVkREIoV29ya2VyQ29udGV4dCopOworCitwcml2YXRl
OgorICAgIFdvcmtlckNvbnRleHRJbmRleGVkREIoKTsKKyAgICB+V29ya2VyQ29udGV4dEluZGV4
ZWREQigpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisKKyNlbmRpZiAvLyBFTkFCTEUoV09SS0VSUykKKworI2VuZGlm
IC8vIFdvcmtlckNvbnRleHRJbmRleGVkREJfaApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREQi5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREQi5pZGwJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJD
b250ZXh0SW5kZXhlZERCLmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
Cittb2R1bGUgdGhyZWFkcyB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1JTkRFWEVEX0RBVEFCQVNFLAorICAgICAgICBTdXBwbGVtZW50YWw9V29ya2VyQ29udGV4dAor
ICAgIF0gV29ya2VyQ29udGV4dEluZGV4ZWREQiB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJGYWN0b3J5IHdlYmtpdEluZGV4ZWREQjsKKworICAg
ICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCQ3Vyc29yQ29uc3RydWN0b3Ig
d2Via2l0SURCQ3Vyc29yOworICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0g
SURCRGF0YWJhc2VDb25zdHJ1Y3RvciB3ZWJraXRJREJEYXRhYmFzZTsKKyAgICAgICAgYXR0cmli
dXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkRhdGFiYXNlRXJyb3JDb25zdHJ1Y3RvciB3ZWJr
aXRJREJEYXRhYmFzZUVycm9yOworICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGlt
ZV0gSURCRGF0YWJhc2VFeGNlcHRpb25Db25zdHJ1Y3RvciB3ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbjsKKyAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkZhY3RvcnlD
b25zdHJ1Y3RvciB3ZWJraXRJREJGYWN0b3J5OworICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxl
ZEF0UnVudGltZV0gSURCSW5kZXhDb25zdHJ1Y3RvciB3ZWJraXRJREJJbmRleDsKKyAgICAgICAg
YXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQktleVJhbmdlQ29uc3RydWN0b3Igd2Vi
a2l0SURCS2V5UmFuZ2U7CisgICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJ
REJPYmplY3RTdG9yZUNvbnN0cnVjdG9yIHdlYmtpdElEQk9iamVjdFN0b3JlOworICAgICAgICBh
dHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCUmVxdWVzdENvbnN0cnVjdG9yIHdlYmtp
dElEQlJlcXVlc3Q7CisgICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJU
cmFuc2FjdGlvbkNvbnN0cnVjdG9yIHdlYmtpdElEQlRyYW5zYWN0aW9uOworICAgIH07CisKK30K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAkocmV2aXNpb24gMTA4ODE0KQorKysgU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAkod29ya2luZyBjb3B5KQpAQCAtMjEsNyArMjEsNyBA
QAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaWZuZGVmIERPTVdpbmRvd19oCkBAIC0yMTksNyAr
MjE5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBkb3VibGUgZGV2aWNlUGl4ZWxS
YXRpbygpIGNvbnN0OwogCiAgICAgICAgIFBhc3NSZWZQdHI8V2ViS2l0UG9pbnQ+IHdlYmtpdENv
bnZlcnRQb2ludEZyb21QYWdlVG9Ob2RlKE5vZGUqLCBjb25zdCBXZWJLaXRQb2ludCopIGNvbnN0
OwotICAgICAgICBQYXNzUmVmUHRyPFdlYktpdFBvaW50PiB3ZWJraXRDb252ZXJ0UG9pbnRGcm9t
Tm9kZVRvUGFnZShOb2RlKiwgY29uc3QgV2ViS2l0UG9pbnQqKSBjb25zdDsgICAgICAgIAorICAg
ICAgICBQYXNzUmVmUHRyPFdlYktpdFBvaW50PiB3ZWJraXRDb252ZXJ0UG9pbnRGcm9tTm9kZVRv
UGFnZShOb2RlKiwgY29uc3QgV2ViS2l0UG9pbnQqKSBjb25zdDsKIAogICAgICAgICBDb25zb2xl
KiBjb25zb2xlKCkgY29uc3Q7CiAKQEAgLTQ3NCw3ICs0NzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgaW5saW5lIFN0cmluZyBET01XaW5kb3c6OmRlZmF1bHRTdGF0dXMoKSBjb25zdAog
ICAgIHsKICAgICAgICAgcmV0dXJuIG1fZGVmYXVsdFN0YXR1czsKLSAgICB9IAorICAgIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5jcHAJKHJldmlzaW9uIDEwODgxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKgogICovCiAKQEAgLTg2LDggKzg2LDYgQEAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjZW5kaWYKIAotI2luY2x1ZGUgIklEQkZhY3RvcnkuaCIKLQogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBDbG9zZVdvcmtlckNvbnRleHRUYXNrIDogcHVibGljIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewpAQCAtNTExLDE5ICs1MDksNiBAQCB2b2lkIFdv
cmtlckNvbnRleHQ6Om5vdGlmeU9ic2VydmVyc09mU3RvCiAgICAgfQogfQogCi0jaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCi1JREJGYWN0b3J5KiBXb3JrZXJDb250ZXh0Ojp3ZWJraXRJbmRl
eGVkREIoKSBjb25zdAotewotICAgIGlmICghc2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzRGF0
YWJhc2UoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKCFtX2lkYkZhY3RvcnlCYWNrZW5k
SW50ZXJmYWNlKQotICAgICAgICBtX2lkYkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlID0gSURCRmFj
dG9yeUJhY2tlbmRJbnRlcmZhY2U6OmNyZWF0ZSgpOwotICAgIGlmICghbV9pZGJGYWN0b3J5KQot
ICAgICAgICBtX2lkYkZhY3RvcnkgPSBJREJGYWN0b3J5OjpjcmVhdGUobV9pZGJGYWN0b3J5QmFj
a2VuZEludGVyZmFjZS5nZXQoKSk7Ci0gICAgcmV0dXJuIG1faWRiRmFjdG9yeS5nZXQoKTsKLX0K
LSNlbmRpZgotCiBXb3JrZXJFdmVudFF1ZXVlKiBXb3JrZXJDb250ZXh0OjpldmVudFF1ZXVlKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gbV9ldmVudFF1ZXVlLmdldCgpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgJKHJldmlzaW9uIDEwODgxNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsy
MCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICoKICAqLwogCkBAIC0xNzAsNyArMTcwLDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCB1bnJlZ2lzdGVyT2JzZXJ2ZXIoT2JzZXJ2
ZXIqKTsKICAgICAgICAgdm9pZCBub3RpZnlPYnNlcnZlcnNPZlN0b3AoKTsKICNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKLSAgICAgICAgSURCRmFjdG9yeSogd2Via2l0SW5kZXhlZERCKCkg
Y29uc3Q7CisgICAgICAgIElEQkZhY3RvcnkqIGlkYkZhY3RvcnkoKSB7IHJldHVybiBtX2lkYkZh
Y3RvcnkuZ2V0KCk7IH0KKyAgICAgICAgdm9pZCBzZXRJREJGYWN0b3J5KFBhc3NSZWZQdHI8SURC
RmFjdG9yeT4pOworICAgICAgICBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSogaWRiRmFjdG9y
eUJhY2tlbmRJbnRlcmZhY2UoKSB7IHJldHVybiBtX2lkYkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNl
LmdldCgpOyB9CisgICAgICAgIHZvaWQgc2V0SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UoUGFz
c1JlZlB0cjxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4pOwogI2VuZGlmCiAKICAgICBwcm90
ZWN0ZWQ6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwJKHJl
dmlzaW9uIDEwODgxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKgog
ICovCiAKQEAgLTY3LDExICs2NywxMSBAQCBtb2R1bGUgdGhyZWFkcyB7CiAKIAogICAgICAgICAv
LyBFdmVudFRhcmdldCBpbnRlcmZhY2UKLSAgICAgICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGlu
IERPTVN0cmluZyB0eXBlLCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50
TGlzdGVuZXIgbGlzdGVuZXIsIAorICAgICAgICB2b2lkIGFkZEV2ZW50TGlzdGVuZXIoaW4gRE9N
U3RyaW5nIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3Rl
bmVyIGxpc3RlbmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFs
XSBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIo
aW4gRE9NU3RyaW5nIHR5cGUsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
RXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgCisgICAgICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5l
cihpbiBET01TdHJpbmcgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWxdIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CiAgICAgICAgIGJvb2xlYW4gZGlz
cGF0Y2hFdmVudChpbiBFdmVudCBldnQpCiAgICAgICAgICAgICByYWlzZXMoRXZlbnRFeGNlcHRp
b24pOwpAQCAtMTI3LDIwICsxMjcsNiBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIGF0dHJp
YnV0ZSBGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciBGbG9hdDMyQXJyYXk7IC8vIFVzYWJsZSB3aXRo
IG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgRmxvYXQ2NEFycmF5Q29uc3RydWN0b3Ig
RmxvYXQ2NEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0cmli
dXRlIERhdGFWaWV3Q29uc3RydWN0b3IgRGF0YVZpZXc7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVy
YXRvcgotI2lmIGRlZmluZWQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICYmIEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFCi0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50
aW1lXSBJREJGYWN0b3J5IHdlYmtpdEluZGV4ZWREQjsKLQotICAgICAgICBhdHRyaWJ1dGUgW1Y4
RW5hYmxlZEF0UnVudGltZV0gSURCQ3Vyc29yQ29uc3RydWN0b3Igd2Via2l0SURCQ3Vyc29yOwot
ICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCRGF0YWJhc2VDb25zdHJ1
Y3RvciB3ZWJraXRJREJEYXRhYmFzZTsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1
bnRpbWVdIElEQkRhdGFiYXNlRXJyb3JDb25zdHJ1Y3RvciB3ZWJraXRJREJEYXRhYmFzZUVycm9y
OwotICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCRGF0YWJhc2VFeGNl
cHRpb25Db25zdHJ1Y3RvciB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbjsKLSAgICAgICAgYXR0
cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkZhY3RvcnlDb25zdHJ1Y3RvciB3ZWJraXRJ
REJGYWN0b3J5OwotICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCSW5k
ZXhDb25zdHJ1Y3RvciB3ZWJraXRJREJJbmRleDsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJs
ZWRBdFJ1bnRpbWVdIElEQktleVJhbmdlQ29uc3RydWN0b3Igd2Via2l0SURCS2V5UmFuZ2U7Ci0g
ICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJPYmplY3RTdG9yZUNvbnN0
cnVjdG9yIHdlYmtpdElEQk9iamVjdFN0b3JlOwotICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxl
ZEF0UnVudGltZV0gSURCUmVxdWVzdENvbnN0cnVjdG9yIHdlYmtpdElEQlJlcXVlc3Q7Ci0gICAg
ICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJUcmFuc2FjdGlvbkNvbnN0cnVj
dG9yIHdlYmtpdElEQlRyYW5zYWN0aW9uOwotI2VuZGlmCiAgICAgfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128766</attachid>
            <date>2012-02-24 11:04:46 -0800</date>
            <delta_ts>2012-03-15 21:18:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79508-20120224140441.patch</filename>
            <type>text/plain</type>
            <size>15810</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwODgyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTAyLTI0ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBTd2l0Y2ggaW5kZXhlZGRi
IHRvIHVzZSBzdXBwbGVtZW50YWwgSURMIGZvciBXb3JrZXJDb250ZXh0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUwOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYWxsIGV4aXN0
aW5nIHRlc3RzIHBhc3MuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250
ZXh0SW5kZXhlZERCLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlckNvbnRleHRJbmRleGVkREI6OldvcmtlckNvbnRleHRJbmRleGVkREIpOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEluZGV4ZWREQjo6fldvcmtlckNvbnRleHRJ
bmRleGVkREIpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dEluZGV4ZWREQjo6d2Vi
a2l0SW5kZXhlZERCKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0
SW5kZXhlZERCLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXb3JrZXJD
b250ZXh0SW5kZXhlZERCKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250
ZXh0SW5kZXhlZERCLmlkbDogYWRkZWQKKyAgICAgICAgZGVjbGFyYXRpb25zIGZyb20gV29ya2Vy
Q29udGV4dC5pZGwKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OmV2ZW50
UXVldWUpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJDb250
ZXh0OjpzZXRJREJGYWN0b3J5KTogbmV3IGFjY2Vzc29yIGZ1bmN0aW9ucyBzbworICAgICAgICB3
ZSBjYW4gYWNjZXNzIGl0IGZyb20gV29ya2VyQ29udGV4dEluZGV4ZWREQgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyQ29udGV4dDo6c2V0SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UpOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
Q29udGV4dDo6aWRiRmFjdG9yeSk6CisgICAgICAgIChXb3JrZXJDb250ZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtlckNvbnRleHQ6OmlkYkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlKToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsOiByZW1vdmVkIEluZGV4ZWQgREIgZGVj
bGFyYXRpb25zCisKIDIwMTItMDItMjQgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgRG9uJ3Qgbm90aWZ5IHRoZSBpbnNwZWN0b3Igb2YgTm9kZSBpbnNlcnRpb25z
IGluaXRpYXRlZCBieSB0aGUgcGFyc2VyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiAx
MDg4MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAg
LTcyNyw2ICs3MjcsNyBAQAogICAgICAgICAgICAgJ01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRp
b25FcnJvci5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25F
cnJvckNhbGxiYWNrLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIvRE9NV2lu
ZG93SW5kZXhlZERhdGFiYXNlLmlkbCcsCisgICAgICAgICAgICAnTW9kdWxlcy9pbmRleGVkZGIv
V29ya2VyQ29udGV4dEluZGV4ZWREQi5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50
cy9ET01XaW5kb3dJbnRlbnRzLmlkbCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9pbnRlbnRzL0lu
dGVudC5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvaW50ZW50cy9JbnRlbnRSZXN1bHRDYWxs
YmFjay5pZGwnLApAQCAtMTI5Miw2ICsxMjkzLDggQEAKICAgICAgICAgICAgICdNb2R1bGVzL2dl
b2xvY2F0aW9uL05hdmlnYXRvckdlb2xvY2F0aW9uLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMv
aW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5jcHAnLAogICAgICAgICAgICAgJ01v
ZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oJywKKyAgICAgICAgICAg
ICdNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0SW5kZXhlZERCLmNwcCcsCisgICAgICAg
ICAgICAnTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREQi5oJywKICAgICAg
ICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50LmNwcCcsCiAgICAgICAgICAgICAnTW9kdWxl
cy9pbnRlbnRzL0ludGVudC5oJywKICAgICAgICAgICAgICdNb2R1bGVzL2ludGVudHMvSW50ZW50
UmVxdWVzdC5jcHAnLApJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29y
a2VyQ29udGV4dEluZGV4ZWREQi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREQi5jcHAJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0SW5kZXhlZERC
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldvcmtlckNvbnRleHRJbmRleGVkREIuaCIKKworI2lmIEVO
QUJMRShXT1JLRVJTKQorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRl
ICJJREJGYWN0b3J5LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlICJX
b3JrZXJDb250ZXh0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV29ya2VyQ29udGV4dElu
ZGV4ZWREQjo6V29ya2VyQ29udGV4dEluZGV4ZWREQigpCit7Cit9CisKK1dvcmtlckNvbnRleHRJ
bmRleGVkREI6On5Xb3JrZXJDb250ZXh0SW5kZXhlZERCKCkKK3sKK30KKworSURCRmFjdG9yeSog
V29ya2VyQ29udGV4dEluZGV4ZWREQjo6d2Via2l0SW5kZXhlZERCKFdvcmtlckNvbnRleHQqIHdv
cmtlcikKK3sKKyAgICBpZiAoIXdvcmtlci0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzRGF0
YWJhc2UoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCF3b3JrZXItPmlkYkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlKCkpCisgICAgICAgIHdvcmtlci0+c2V0SURCRmFjdG9yeUJhY2tlbmRJ
bnRlcmZhY2UoSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U6OmNyZWF0ZSgpKTsKKyAgICBpZiAo
IXdvcmtlci0+aWRiRmFjdG9yeSgpKQorICAgICAgICB3b3JrZXItPnNldElEQkZhY3RvcnkoSURC
RmFjdG9yeTo6Y3JlYXRlKHdvcmtlci0+aWRiRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UoKSkpOwor
ICAgIHJldHVybiB3b3JrZXItPmlkYkZhY3RvcnkoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gSU5ERVhFRF9EQVRBQkFTRQorCisjZW5kaWYgLy8gV09SS0VSUwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4
ZWREQi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dv
cmtlckNvbnRleHRJbmRleGVkREIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRleGVkREIuaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSwgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICog
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUK
KyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorICogU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIKKyAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNICisgKiBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXb3JrZXJDb250ZXh0SW5kZXhl
ZERCX2gKKyNkZWZpbmUgV29ya2VyQ29udGV4dEluZGV4ZWREQl9oCisKKyNpZiBFTkFCTEUoV09S
S0VSUykKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIElEQkZhY3Rvcnk7CitjbGFzcyBXb3JrZXJDb250ZXh0OworCitjbGFzcyBX
b3JrZXJDb250ZXh0SW5kZXhlZERCIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgSURCRmFjdG9yeSog
d2Via2l0SW5kZXhlZERCKFdvcmtlckNvbnRleHQqKTsKKworcHJpdmF0ZToKKyAgICBXb3JrZXJD
b250ZXh0SW5kZXhlZERCKCk7CisgICAgfldvcmtlckNvbnRleHRJbmRleGVkREIoKTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQorCisjZW5kaWYgLy8gRU5BQkxFKFdPUktFUlMpCisKKyNlbmRpZiAvLyBXb3JrZXJDb250
ZXh0SW5kZXhlZERCX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL1dv
cmtlckNvbnRleHRJbmRleGVkREIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL1dvcmtlckNvbnRleHRJbmRleGVkREIuaWRsCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWRE
Qi5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHRocmVh
ZHMgeworCisgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgQ29uZGl0aW9uYWw9SU5ERVhFRF9EQVRB
QkFTRSwKKyAgICAgICAgU3VwcGxlbWVudGFsPVdvcmtlckNvbnRleHQKKyAgICBdIFdvcmtlckNv
bnRleHRJbmRleGVkREIgeworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0
UnVudGltZV0gSURCRmFjdG9yeSB3ZWJraXRJbmRleGVkREI7CisKKyAgICAgICAgYXR0cmlidXRl
IFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkN1cnNvckNvbnN0cnVjdG9yIHdlYmtpdElEQkN1cnNv
cjsKKyAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkRhdGFiYXNlQ29u
c3RydWN0b3Igd2Via2l0SURCRGF0YWJhc2U7CisgICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVk
QXRSdW50aW1lXSBJREJEYXRhYmFzZUVycm9yQ29uc3RydWN0b3Igd2Via2l0SURCRGF0YWJhc2VF
cnJvcjsKKyAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkRhdGFiYXNl
RXhjZXB0aW9uQ29uc3RydWN0b3Igd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247CisgICAgICAg
IGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJGYWN0b3J5Q29uc3RydWN0b3Igd2Vi
a2l0SURCRmFjdG9yeTsKKyAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElE
QkluZGV4Q29uc3RydWN0b3Igd2Via2l0SURCSW5kZXg7CisgICAgICAgIGF0dHJpYnV0ZSBbVjhF
bmFibGVkQXRSdW50aW1lXSBJREJLZXlSYW5nZUNvbnN0cnVjdG9yIHdlYmtpdElEQktleVJhbmdl
OworICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCT2JqZWN0U3RvcmVD
b25zdHJ1Y3RvciB3ZWJraXRJREJPYmplY3RTdG9yZTsKKyAgICAgICAgYXR0cmlidXRlIFtWOEVu
YWJsZWRBdFJ1bnRpbWVdIElEQlJlcXVlc3RDb25zdHJ1Y3RvciB3ZWJraXRJREJSZXF1ZXN0Owor
ICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCVHJhbnNhY3Rpb25Db25z
dHJ1Y3RvciB3ZWJraXRJREJUcmFuc2FjdGlvbjsKKyAgICB9OworCit9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAJKHJldmlzaW9uIDEwODgxNCkKKysrIFNv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIxLDcgKzIxLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKgogICovCiAKQEAgLTUxMSwyMyArNTEx
LDIyIEBAIHZvaWQgV29ya2VyQ29udGV4dDo6bm90aWZ5T2JzZXJ2ZXJzT2ZTdG8KICAgICB9CiB9
CiAKK1dvcmtlckV2ZW50UXVldWUqIFdvcmtlckNvbnRleHQ6OmV2ZW50UXVldWUoKSBjb25zdAor
eworICAgIHJldHVybiBtX2V2ZW50UXVldWUuZ2V0KCk7Cit9CisKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKLUlEQkZhY3RvcnkqIFdvcmtlckNvbnRleHQ6OndlYmtpdEluZGV4ZWREQigp
IGNvbnN0Cit2b2lkIFdvcmtlckNvbnRleHQ6OnNldElEQkZhY3RvcnkoUGFzc1JlZlB0cjxJREJG
YWN0b3J5PiBpZGJGYWN0b3J5KQogewotICAgIGlmICghc2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNj
ZXNzRGF0YWJhc2UoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKCFtX2lkYkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlKQotICAgICAgICBtX2lkYkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlID0g
SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U6OmNyZWF0ZSgpOwotICAgIGlmICghbV9pZGJGYWN0
b3J5KQotICAgICAgICBtX2lkYkZhY3RvcnkgPSBJREJGYWN0b3J5OjpjcmVhdGUobV9pZGJGYWN0
b3J5QmFja2VuZEludGVyZmFjZS5nZXQoKSk7Ci0gICAgcmV0dXJuIG1faWRiRmFjdG9yeS5nZXQo
KTsKKyAgICBtX2lkYkZhY3RvcnkgPSBpZGJGYWN0b3J5OwogfQotI2VuZGlmCiAKLVdvcmtlckV2
ZW50UXVldWUqIFdvcmtlckNvbnRleHQ6OmV2ZW50UXVldWUoKSBjb25zdAordm9pZCBXb3JrZXJD
b250ZXh0OjpzZXRJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZShQYXNzUmVmUHRyPElEQkZhY3Rv
cnlCYWNrZW5kSW50ZXJmYWNlPiBpZGJGYWN0b3J5QmFja2VuZEludGVyZmFjZSkKIHsKLSAgICBy
ZXR1cm4gbV9ldmVudFF1ZXVlLmdldCgpOworICAgIG1faWRiRmFjdG9yeUJhY2tlbmRJbnRlcmZh
Y2UgPSBpZGJGYWN0b3J5QmFja2VuZEludGVyZmFjZTsKIH0KKyNlbmRpZgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5o
CShyZXZpc2lvbiAxMDg4MTQpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAq
CiAgKi8KIApAQCAtMTcwLDcgKzE3MCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZvaWQgdW5yZWdpc3Rlck9ic2VydmVyKE9ic2VydmVyKik7CiAgICAgICAgIHZvaWQgbm90aWZ5
T2JzZXJ2ZXJzT2ZTdG9wKCk7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0gICAgICAg
IElEQkZhY3RvcnkqIHdlYmtpdEluZGV4ZWREQigpIGNvbnN0OworICAgICAgICBJREJGYWN0b3J5
KiBpZGJGYWN0b3J5KCkgeyByZXR1cm4gbV9pZGJGYWN0b3J5LmdldCgpOyB9CisgICAgICAgIHZv
aWQgc2V0SURCRmFjdG9yeShQYXNzUmVmUHRyPElEQkZhY3Rvcnk+KTsKKyAgICAgICAgSURCRmFj
dG9yeUJhY2tlbmRJbnRlcmZhY2UqIGlkYkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlKCkgeyByZXR1
cm4gbV9pZGJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5nZXQoKTsgfQorICAgICAgICB2b2lkIHNl
dElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlKFBhc3NSZWZQdHI8SURCRmFjdG9yeUJhY2tlbmRJ
bnRlcmZhY2U+KTsKICNlbmRpZgogCiAgICAgcHJvdGVjdGVkOgpJbmRleDogU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCShyZXZpc2lvbiAxMDg4MTQpCisrKyBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3
ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICoKICAqLwogCkBAIC02NywxMSArNjcsMTEgQEAg
bW9kdWxlIHRocmVhZHMgewogCiAKICAgICAgICAgLy8gRXZlbnRUYXJnZXQgaW50ZXJmYWNlCi0g
ICAgICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihpbiBET01TdHJpbmcgdHlwZSwgCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCAKKyAgICAg
ICAgdm9pZCBhZGRFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbF0gYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAg
ICAgICAgdm9pZCByZW1vdmVFdmVudExpc3RlbmVyKGluIERPTVN0cmluZyB0eXBlLCAKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEV2ZW50TGlzdGVuZXIgbGlzdGVuZXIsIAor
ICAgICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoaW4gRE9NU3RyaW5nIHR5cGUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBFdmVudExpc3RlbmVyIGxpc3RlbmVyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsXSBib29sZWFuIHVz
ZUNhcHR1cmUpOwogICAgICAgICBib29sZWFuIGRpc3BhdGNoRXZlbnQoaW4gRXZlbnQgZXZ0KQog
ICAgICAgICAgICAgcmFpc2VzKEV2ZW50RXhjZXB0aW9uKTsKQEAgLTEyNywyMCArMTI3LDYgQEAg
bW9kdWxlIHRocmVhZHMgewogICAgICAgICBhdHRyaWJ1dGUgRmxvYXQzMkFycmF5Q29uc3RydWN0
b3IgRmxvYXQzMkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0
cmlidXRlIEZsb2F0NjRBcnJheUNvbnN0cnVjdG9yIEZsb2F0NjRBcnJheTsgLy8gVXNhYmxlIHdp
dGggbmV3IG9wZXJhdG9yCiAgICAgICAgIGF0dHJpYnV0ZSBEYXRhVmlld0NvbnN0cnVjdG9yIERh
dGFWaWV3OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSNpZiBkZWZpbmVkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAmJiBFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRQotICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZV0gSURCRmFjdG9yeSB3ZWJraXRJbmRl
eGVkREI7Ci0KLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkN1cnNv
ckNvbnN0cnVjdG9yIHdlYmtpdElEQkN1cnNvcjsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJs
ZWRBdFJ1bnRpbWVdIElEQkRhdGFiYXNlQ29uc3RydWN0b3Igd2Via2l0SURCRGF0YWJhc2U7Ci0g
ICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJEYXRhYmFzZUVycm9yQ29u
c3RydWN0b3Igd2Via2l0SURCRGF0YWJhc2VFcnJvcjsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVu
YWJsZWRBdFJ1bnRpbWVdIElEQkRhdGFiYXNlRXhjZXB0aW9uQ29uc3RydWN0b3Igd2Via2l0SURC
RGF0YWJhc2VFeGNlcHRpb247Ci0gICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1l
XSBJREJGYWN0b3J5Q29uc3RydWN0b3Igd2Via2l0SURCRmFjdG9yeTsKLSAgICAgICAgYXR0cmli
dXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQkluZGV4Q29uc3RydWN0b3Igd2Via2l0SURCSW5k
ZXg7Ci0gICAgICAgIGF0dHJpYnV0ZSBbVjhFbmFibGVkQXRSdW50aW1lXSBJREJLZXlSYW5nZUNv
bnN0cnVjdG9yIHdlYmtpdElEQktleVJhbmdlOwotICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxl
ZEF0UnVudGltZV0gSURCT2JqZWN0U3RvcmVDb25zdHJ1Y3RvciB3ZWJraXRJREJPYmplY3RTdG9y
ZTsKLSAgICAgICAgYXR0cmlidXRlIFtWOEVuYWJsZWRBdFJ1bnRpbWVdIElEQlJlcXVlc3RDb25z
dHJ1Y3RvciB3ZWJraXRJREJSZXF1ZXN0OwotICAgICAgICBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0
UnVudGltZV0gSURCVHJhbnNhY3Rpb25Db25zdHJ1Y3RvciB3ZWJraXRJREJUcmFuc2FjdGlvbjsK
LSNlbmRpZgogICAgIH07CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>