<?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>112571</bug_id>
          
          <creation_ts>2013-03-18 07:19:53 -0700</creation_ts>
          <short_desc>[Chromium] Create WebFileSystemType enum to allow easier filesystem refactoring</short_desc>
          <delta_ts>2013-03-18 13:28:52 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>106829</blocked>
          <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>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>857092</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 07:19:53 -0700</bug_when>
    <thetext>[Chromium] Create WebFileSystemType enum to allow easier filesystem refactoring</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857093</commentid>
    <comment_count>1</comment_count>
      <attachid>193557</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 07:22:40 -0700</bug_when>
    <thetext>Created attachment 193557
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857094</commentid>
    <comment_count>2</comment_count>
      <attachid>193557</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 07:23:26 -0700</bug_when>
    <thetext>Comment on attachment 193557
WIP Patch

Pretty sure this will break Chromium build. Still working on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857095</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-18 07:25:58 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857268</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 10:24:58 -0700</bug_when>
    <thetext>Nope, this definitely needs to be behind a #define so we don&apos;t break Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857295</commentid>
    <comment_count>5</comment_count>
      <attachid>193603</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 10:51:45 -0700</bug_when>
    <thetext>Created attachment 193603
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857302</commentid>
    <comment_count>6</comment_count>
      <attachid>193603</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 10:52:57 -0700</bug_when>
    <thetext>Comment on attachment 193603
Patch

OK, this version puts all changes behind #ifdefs so we can make the changes in Chromium and then turn on everything at once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857304</commentid>
    <comment_count>7</comment_count>
      <attachid>193603</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-18 10:54:56 -0700</bug_when>
    <thetext>Comment on attachment 193603
Patch

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

&gt; Source/Platform/chromium/public/WebFileSystemType.h:35
&gt; +// #define USE_NEW_WEBFILESYSTEMTYPE

USE_NEW_WEBFILESYSTEMTYPE -&gt; WEBKIT_USE_NEW_WEBFILESYSTEMTYPE

&gt; Source/WebKit/chromium/public/WebCommonWorkerClient.h:67
&gt; +#ifdef USE_NEW_WEBFILESYSTEMTYPE
&gt; +    virtual void openFileSystem(WebFileSystemType, long long size, bool create, WebFileSystemCallbacks*)
&gt; +#else
&gt;      virtual void openFileSystem(WebFileSystem::Type, long long size, bool create, WebFileSystemCallbacks*)
&gt; +#endif

Can you use a typedef to avoid adding this ifdef everywhere?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857310</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 10:57:58 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 193603 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193603&amp;action=review
&gt; 
&gt; &gt; Source/Platform/chromium/public/WebFileSystemType.h:35
&gt; &gt; +// #define USE_NEW_WEBFILESYSTEMTYPE
&gt; 
&gt; USE_NEW_WEBFILESYSTEMTYPE -&gt; WEBKIT_USE_NEW_WEBFILESYSTEMTYPE

Grr.

&gt; &gt; Source/WebKit/chromium/public/WebCommonWorkerClient.h:67
&gt; &gt; +#ifdef USE_NEW_WEBFILESYSTEMTYPE
&gt; &gt; +    virtual void openFileSystem(WebFileSystemType, long long size, bool create, WebFileSystemCallbacks*)
&gt; &gt; +#else
&gt; &gt;      virtual void openFileSystem(WebFileSystem::Type, long long size, bool create, WebFileSystemCallbacks*)
&gt; &gt; +#endif
&gt; 
&gt; Can you use a typedef to avoid adding this ifdef everywhere?

Couldn&apos;t figure it out. Enlisted help from several C++ gurus. Enums can&apos;t define casting operators, enum names don&apos;t match because of WebKit* prefixing. The whole mess will be resolved after one Chromium patch lands, so it&apos;s not really worth any more time trying to be clever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857317</commentid>
    <comment_count>9</comment_count>
      <attachid>193607</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 11:01:11 -0700</bug_when>
    <thetext>Created attachment 193607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857318</commentid>
    <comment_count>10</comment_count>
      <attachid>193607</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 11:01:45 -0700</bug_when>
    <thetext>Comment on attachment 193607
Patch

Now with WEBKIT_USE_NEW_WEBFILESYSTEMTYPE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857379</commentid>
    <comment_count>11</comment_count>
      <attachid>193607</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-18 11:53:17 -0700</bug_when>
    <thetext>Comment on attachment 193607
Patch

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857401</commentid>
    <comment_count>12</comment_count>
      <attachid>193607</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 12:13:49 -0700</bug_when>
    <thetext>Comment on attachment 193607
Patch

Nope, turns out there&apos;s two more files (in DumpRenderTree) that need munging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857410</commentid>
    <comment_count>13</comment_count>
      <attachid>193627</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 12:22:20 -0700</bug_when>
    <thetext>Created attachment 193627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857411</commentid>
    <comment_count>14</comment_count>
      <attachid>193627</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2013-03-18 12:23:01 -0700</bug_when>
    <thetext>Comment on attachment 193627
Patch

Now with necessary DumpRenderTree changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857475</commentid>
    <comment_count>15</comment_count>
      <attachid>193627</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-18 13:28:47 -0700</bug_when>
    <thetext>Comment on attachment 193627
Patch

Clearing flags on attachment: 193627

Committed r146111: &lt;http://trac.webkit.org/changeset/146111&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857476</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-18 13:28:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193557</attachid>
            <date>2013-03-18 07:22:40 -0700</date>
            <delta_ts>2013-03-18 10:51:42 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug-112571-20130318101815.patch</filename>
            <type>text/plain</type>
            <size>23116</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAzMWRiMDc0NDAwOTdh
ZDNhZDQ1MmEyYTQ3ZjM3NzRkOGVhZGExNmYxLi5lMjliNzJhN2RhOTNjMDlkODMzNTQzZWIzNjVm
NzI2MTFhNTk3ZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wMy0xOCAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBDcmVhdGUgV2ViRmlsZVN5c3RlbVR5cGUgZW51bSB0byBhbGxvdyBlYXNpZXIgZmlsZXN5c3Rl
bSByZWZhY3RvcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEyNTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTmV3IHRvcC1sZXZlbCBlbnVtIChub3QgdGllZCB0byBXZWJGaWxlU3lzdGVtIGNsYXNz
KSB3aWxsIGFsbG93CisgICAgICAgIGVhc2llciByZWZhY3RvcmluZyBvZiBmaWxlc3lzdGVtIG1l
dGhvZHMgd2l0aGluIHRoZSBQbGF0Zm9ybS8gZGlyZWN0b3J5LgorCisgICAgICAgICogY2hyb21p
dW0vcHVibGljL1dlYkZpbGVTeXN0ZW1UeXBlLmg6IG5ldyBmaWxlCisgICAgICAgIChXZWJLaXQp
OgorCiAyMDEzLTAzLTE3ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIHRoZSB6b29tIGZpbHRlciBvcGVyYXRpb24gaWZkZWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOGNhYmQwYzRkYTNjOWRlZTZjODRjYjVlODA2
MmJkMDBlM2Y3Mzg0NS4uNmJiZDM4NjY1NzBkZDgyNDA5NGQxNWE4NDMwZDQzMjRkYjM4MjA1YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMy0wMy0xOCAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBDcmVhdGUgV2ViRmlsZVN5c3RlbVR5cGUgZW51bSB0byBhbGxvdyBlYXNpZXIgZmlsZXN5c3Rl
bSByZWZhY3RvcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEyNTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXBkYXRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBmb3IgbmV3IFdlYkZpbGVTeXN0ZW1U
eXBlIGVudW0uCisKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50Lmg6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbW1vbldvcmtlckNsaWVudDo6b3BlbkZpbGVTeXN0ZW0pOgor
ICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5oOgorICAgICAgICAoV2ViRnJhbWUpOgorICAgICAg
ICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNs
aWVudDo6b3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6
ZGVsZXRlRmlsZVN5c3RlbSk6CisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
OgorICAgICAgICAqIHNyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1bS5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Om9wZW5GaWxlU3lzdGVtSGVscGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxvY2FsRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZVN5c3RlbSk6CisgICAgICAg
ICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6
Y3JlYXRlRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRl
U2VyaWFsaXphYmxlRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6
Y3JlYXRlRmlsZUVudHJ5KToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAg
IChXZWJGcmFtZUltcGwpOgorICAgICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQ2xpZW50SW1wbDo6b3BlbkZpbGVTeXN0ZW0pOgor
ICAgICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL1dvcmtl
ckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXb3JrZXJG
aWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpwb3N0T3BlbkZpbGVTeXN0ZW1Ub01haW5UaHJlYWQp
OgorICAgICAgICAoV2ViS2l0OjpXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpvcGVu
RmlsZVN5c3RlbU9uTWFpblRocmVhZCk6CisgICAgICAgICogc3JjL1dvcmtlckZpbGVTeXN0ZW1D
YWxsYmFja3NCcmlkZ2UuaDoKKyAgICAgICAgKFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlk
Z2UpOgorCiAyMDEzLTAzLTE3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW0Nocm9taXVtXSBSZW1vdmUgdW51c2VkIFdlYk5vZGU6Omhhc0V2ZW50TGlzdGVuZXJz
IEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxl
U3lzdGVtVHlwZS5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lz
dGVtVHlwZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkZDA2ZDE2Mjc4NjE5NzllZjdmMjhiMTRiZDVmMTFlYjk3
ZTA0NDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYkZpbGVTeXN0ZW1UeXBlLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViRmlsZVN5c3Rl
bVR5cGVfaAorI2RlZmluZSBXZWJGaWxlU3lzdGVtVHlwZV9oCisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitlbnVtIFdlYkZpbGVTeXN0ZW1UeXBlIHsKKyAgICBXZWJGaWxlU3lzdGVtVHlwZVRlbXBv
cmFyeSwKKyAgICBXZWJGaWxlU3lzdGVtVHlwZVBlcnNpc3RlbnQsCisKKyAgICAvLyBJbmRpY2F0
ZXMgYW4gaXNvbGF0ZWQgZmlsZXN5c3RlbSB3aGljaCBvbmx5IGV4cG9zZXMgYSBzZXQgb2YgZmls
ZXMuCisgICAgV2ViRmlsZVN5c3RlbVR5cGVJc29sYXRlZCwKKworICAgIC8vIEluZGljYXRlcyBh
IG5vbi1zYW5kYm94ZWQgZmlsZXN5c3RlbS4KKyAgICBXZWJGaWxlU3lzdGVtVHlwZUV4dGVybmFs
LAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaAppbmRleCA3
MDQ4ZmU5MmUzMmNjNzdhNThkMGQ5MzIzNjBhYmYyYTZmMjcxNDRjLi4wMjZiNGY0NzYwMDQ3NmU1
YzVhYjg1ZTg0MDFjZjA1MjBjZmU5M2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaApAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5o
IgogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lz
dGVtLmgiCisjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkZp
bGVTeXN0ZW1UeXBlLmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC01OSw3ICs2MCw3IEBA
IHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBDYWxsZWQgb24gdGhlIG1haW4gd2Via2l0IHRocmVh
ZCBiZWZvcmUgb3BlbmluZyBhIGZpbGUgc3lzdGVtLgotICAgIHZpcnR1YWwgdm9pZCBvcGVuRmls
ZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUs
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKQorICAgIHZpcnR1YWwgdm9pZCBvcGVuRmlsZVN5c3Rl
bShXZWJGaWxlU3lzdGVtVHlwZSwgbG9uZyBsb25nIHNpemUsIGJvb2wgY3JlYXRlLCBXZWJGaWxl
U3lzdGVtQ2FsbGJhY2tzKikKICAgICB7CiAgICAgICAgIFdFQktJVF9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRl
eCA3MThlNjg0YzY3OGZiZTU3MzU0Y2U5NzgyY2E2MGRjOTNmNzNkNzIzLi5hMDc1ZGJlOWI4Yzg4
MmIyMDM3ZWRlNGY1MzdhNDRhNjZkNmUyMmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkZyYW1lLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIi4uLy4uLy4uL1Bs
YXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJDYW52YXMuaCIKICNpbmNsdWRlICIuLi8uLi8uLi9Q
bGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIi4uLy4u
Ly4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oIgogI2luY2x1
ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJNZXNzYWdlUG9ydENoYW5u
ZWwuaCIKICNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViUmVm
ZXJyZXJQb2xpY3kuaCIKICNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvV2ViVVJMLmgiCkBAIC0yOTEsMTcgKzI5MiwxNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlwdENvbnRleHQoKSBjb25zdCA9IDA7
CiAKICAgICAvLyBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGZpbGUgc3lzdGVtIG9iamVjdC4KLSAg
ICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVT
eXN0ZW06OlR5cGUsCisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmls
ZVN5c3RlbShXZWJGaWxlU3lzdGVtVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYg
cm9vdFVSTCkgPSAwOwogICAgIC8vIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2Ygc2VyaWFsaXphYmxl
IGZpbGUgc3lzdGVtIG9iamVjdC4KICAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgQVBJIGFmdGVy
IHdlIGhhdmUgYSBiZXR0ZXIgd2F5IG9mIGNyZWF0aW5nIHNlcmlhbGl6ZWQKICAgICAvLyBmaWxl
IHN5c3RlbSBvYmplY3QuCi0gICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRl
U2VyaWFsaXphYmxlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBlLAorICAgIHZpcnR1YWwg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZVNlcmlhbGl6YWJsZUZpbGVTeXN0ZW0oV2ViRmls
ZVN5c3RlbVR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBX
ZWJTdHJpbmcmIHJvb3RVUkwpID0gMDsKICAgICAvLyBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGZp
bGUgb3IgZGlyZWN0b3J5IGVudHJ5IG9iamVjdC4KLSAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3RlbTo6VHlwZSwKKyAgICB2aXJ0dWFs
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3RlbVR5cGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVJvb3RVUkws
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlN0cmluZyYgZmlsZVBhdGgsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViRnJhbWVDbGllbnQuaAppbmRleCBlMGVlYmJmY2Y4Y2RmYmQzZDNlOGU3MzU1YjUwZjI5MWVl
ZTYzZTZhLi5mNDc4MTU2NGJiOWNmMGE4Njc4OGNlMzVhNWNkMWY1MmRkMTJiMTJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKQEAgLTMzLDYg
KzMzLDcgQEAKIAogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJDb21tb24uaCIKICNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oIgogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJVUkxFcnJvci5oIgogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJVUkxSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViRE9NTWVzc2Fn
ZUV2ZW50LmgiCkBAIC0zNjAsNyArMzYxLDcgQEAgcHVibGljOgogICAgIC8vIGNhbGxlZCBvdGhl
cndpc2UuIFRoZSBjcmVhdGUgYm9vbCBpcyBmb3IgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0
bwogICAgIC8vIGNyZWF0ZSByb290IHBhdGggZm9yIGZpbGUgc3lzdGVtcyBpZiBpdCBkbyBub3Qg
ZXhpc3QuCiAgICAgdmlydHVhbCB2b2lkIG9wZW5GaWxlU3lzdGVtKAotICAgICAgICBXZWJGcmFt
ZSosIFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXplLAorICAgICAgICBXZWJGcmFt
ZSosIFdlYkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwKICAgICAgICAgYm9vbCBjcmVh
dGUsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IH0KIAogICAgIC8vIERlbGV0ZXMgRmlsZVN5
c3RlbS4KQEAgLTM3MCw3ICszNzEsNyBAQCBwdWJsaWM6CiAgICAgLy8gQWxsIGluLWZsaWdodCBv
cGVyYXRpb25zIGFuZCBmb2xsb3dpbmcgb3BlcmF0aW9ucyBtYXkgZmFpbCBhZnRlciB0aGUKICAg
ICAvLyBGaWxlU3lzdGVtIGlzIGRlbGV0ZWQuCiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUZpbGVT
eXN0ZW0oCi0gICAgICAgIFdlYkZyYW1lKiwgV2ViRmlsZVN5c3RlbTo6VHlwZSwgV2ViRmlsZVN5
c3RlbUNhbGxiYWNrcyopIHsgfQorICAgICAgICBXZWJGcmFtZSosIFdlYkZpbGVTeXN0ZW1UeXBl
LCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyB9CiAKICAgICAvLyBRdW90YSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRl
eCBmMmM2MmNmZThiYTVlNTEzMjNkMWZkOWI3OTUyN2QxMzM0YmZkZTE5Li41MDIwZjFjNDUxOGNm
ZDdkYzkwY2NiZDQzZjEzZmY2NjhkMGE1YTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMTIyLDYgKzEyMiw3IEBACiAj
aW5jbHVkZSA8cHVibGljL1dlYkZpbGVFcnJvci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxl
SW5mby5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CisjaW5jbHVkZSA8cHVi
bGljL1dlYkZpbGVTeXN0ZW1UeXBlLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJh
dGlvbi5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJNZWRpYVN0cmVhbVNvdXJjZS5oPgogI2luY2x1
ZGUgPHB1YmxpYy9XZWJSVENEYXRhQ2hhbm5lbEhhbmRsZXJDbGllbnQuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcApp
bmRleCAwMWJmNWJkYjQ0YzBkMjZhMWFjOTQzZThhNTgyNDhkNWQzM2U4ZmQ4Li4wZTUyMzYwZTU5
NjkzZTI4OTU0ZjE4YjE2NjliOWY2ZDIwOGQ4NDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCkBAIC0xNTMsNyAr
MTUzLDcgQEAgYm9vbCBhbGxvd0ZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xp
ZW50KiBjb21tb25DbGllbnQpCiAgICAgcmV0dXJuIGJyaWRnZS0+cmVzdWx0KCk7CiB9CiAKLXZv
aWQgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xpZW50KiBjb21tb25D
bGllbnQsIFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgbG9uZyBsb25nIHNpemUsIGJvb2wgY3Jl
YXRlLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbCogY2FsbGJhY2tzLCBGaWxlU3lzdGVtU3lu
Y2hyb25vdXNUeXBlIHN5bmNocm9ub3VzVHlwZSkKK3ZvaWQgb3BlbkZpbGVTeXN0ZW1Gb3JXb3Jr
ZXIoV2ViQ29tbW9uV29ya2VyQ2xpZW50KiBjb21tb25DbGllbnQsIFdlYkZpbGVTeXN0ZW1UeXBl
IHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgV2ViRmlsZVN5c3RlbUNhbGxiYWNr
c0ltcGwqIGNhbGxiYWNrcywgRmlsZVN5c3RlbVN5bmNocm9ub3VzVHlwZSBzeW5jaHJvbm91c1R5
cGUpCiB7CiAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlciogY29udHJvbGxlciA9IFdvcmtlclNj
cmlwdENvbnRyb2xsZXI6OmNvbnRyb2xsZXJGb3JDb250ZXh0KCk7CiAgICAgV29ya2VyQ29udGV4
dCogd29ya2VyQ29udGV4dCA9IGNvbnRyb2xsZXItPndvcmtlckNvbnRleHQoKTsKQEAgLTE5OSw3
ICsxOTksNyBAQCBzdGF0aWMgdm9pZCBvcGVuRmlsZVN5c3RlbUhlbHBlcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBGaWxlU3lzdGVtVHlwZQogICAgICAgICBpZiAod2ViVmlldy0+
cGVybWlzc2lvbkNsaWVudCgpICYmICF3ZWJWaWV3LT5wZXJtaXNzaW9uQ2xpZW50KCktPmFsbG93
RmlsZVN5c3RlbSh3ZWJGcmFtZSkpCiAgICAgICAgICAgICBhbGxvd2VkID0gZmFsc2U7CiAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIHdlYkZyYW1lLT5jbGllbnQoKS0+b3BlbkZpbGVTeXN0ZW0o
d2ViRnJhbWUsIHN0YXRpY19jYXN0PFdlYkZpbGVTeXN0ZW06OlR5cGU+KHR5cGUpLCBzaXplLCBj
cmVhdGUgPT0gQ3JlYXRlSWZOb3RQcmVzZW50LCBuZXcgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0lt
cGwoY2FsbGJhY2tzKSk7CisgICAgICAgICAgICB3ZWJGcmFtZS0+Y2xpZW50KCktPm9wZW5GaWxl
U3lzdGVtKHdlYkZyYW1lLCBzdGF0aWNfY2FzdDxXZWJGaWxlU3lzdGVtVHlwZT4odHlwZSksIHNp
emUsIGNyZWF0ZSA9PSBDcmVhdGVJZk5vdFByZXNlbnQsIG5ldyBXZWJGaWxlU3lzdGVtQ2FsbGJh
Y2tzSW1wbChjYWxsYmFja3MpKTsKICAgICB9IGVsc2UgewogI2lmIEVOQUJMRShXT1JLRVJTKQog
ICAgICAgICBXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0ID0gc3RhdGljX2Nhc3Q8V29ya2Vy
Q29udGV4dCo+KGNvbnRleHQpOwpAQCAtMjA3LDcgKzIwNyw3IEBAIHN0YXRpYyB2b2lkIG9wZW5G
aWxlU3lzdGVtSGVscGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEZpbGVTeXN0
ZW1UeXBlCiAgICAgICAgIGlmICghYWxsb3dGaWxlU3lzdGVtRm9yV29ya2VyKHdlYldvcmtlci0+
Y29tbW9uQ2xpZW50KCkpKQogICAgICAgICAgICAgYWxsb3dlZCA9IGZhbHNlOwogICAgICAgICBl
bHNlCi0gICAgICAgICAgICBvcGVuRmlsZVN5c3RlbUZvcldvcmtlcih3ZWJXb3JrZXItPmNvbW1v
bkNsaWVudCgpLCBzdGF0aWNfY2FzdDxXZWJGaWxlU3lzdGVtOjpUeXBlPih0eXBlKSwgc2l6ZSwg
Y3JlYXRlID09IENyZWF0ZUlmTm90UHJlc2VudCwgbmV3IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3NJ
bXBsKGNhbGxiYWNrcywgY29udGV4dCwgc3luY2hyb25vdXNUeXBlKSwgc3luY2hyb25vdXNUeXBl
KTsKKyAgICAgICAgICAgIG9wZW5GaWxlU3lzdGVtRm9yV29ya2VyKHdlYldvcmtlci0+Y29tbW9u
Q2xpZW50KCksIHN0YXRpY19jYXN0PFdlYkZpbGVTeXN0ZW1UeXBlPih0eXBlKSwgc2l6ZSwgY3Jl
YXRlID09IENyZWF0ZUlmTm90UHJlc2VudCwgbmV3IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBs
KGNhbGxiYWNrcywgY29udGV4dCwgc3luY2hyb25vdXNUeXBlKSwgc3luY2hyb25vdXNUeXBlKTsK
IAogI2Vsc2UKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0yNDMsNyArMjQzLDcg
QEAgdm9pZCBMb2NhbEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGVTeXN0ZW0oU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgRmlsZVN5c3QKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAg
IHdlYkZyYW1lLT5jbGllbnQoKS0+ZGVsZXRlRmlsZVN5c3RlbSh3ZWJGcmFtZSwgc3RhdGljX2Nh
c3Q8V2ViRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIG5ldyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
SW1wbChjYWxsYmFja3MpKTsKKyAgICB3ZWJGcmFtZS0+Y2xpZW50KCktPmRlbGV0ZUZpbGVTeXN0
ZW0od2ViRnJhbWUsIHN0YXRpY19jYXN0PFdlYkZpbGVTeXN0ZW1UeXBlPih0eXBlKSwgbmV3IFdl
YkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsKGNhbGxiYWNrcykpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApp
bmRleCBmZTI4NmI5MmEyNThkZTQ2YTI2ZGE3YzQ5ODJkZWJjN2EwZDc4Y2RjLi42MGE2ODI0OTA4
MTVhYmI3MDhkOTZmYjg0NTQ4YzNhYzk5NDg3MmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTkwMSwxMyArOTAxLDEzIEBAIHY4OjpMb2NhbDx2
ODo6Q29udGV4dD4gV2ViRnJhbWVJbXBsOjptYWluV29ybGRTY3JpcHRDb250ZXh0KCkgY29uc3QK
ICAgICByZXR1cm4gU2NyaXB0Q29udHJvbGxlcjo6bWFpbldvcmxkQ29udGV4dChmcmFtZSgpKTsK
IH0KIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZVN5c3Rl
bShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3Qg
V2ViU3RyaW5nJiBwYXRoKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6Y3Jl
YXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtVHlwZSB0eXBlLCBjb25zdCBXZWJTdHJpbmcmIG5h
bWUsIGNvbnN0IFdlYlN0cmluZyYgcGF0aCkKIHsKICAgICBBU1NFUlQoZnJhbWUoKSk7CiAgICAg
cmV0dXJuIHRvVjgoRE9NRmlsZVN5c3RlbTo6Y3JlYXRlKGZyYW1lKCktPmRvY3VtZW50KCksIG5h
bWUsIHN0YXRpY19jYXN0PFdlYkNvcmU6OkZpbGVTeXN0ZW1UeXBlPih0eXBlKSwgS1VSTChQYXJz
ZWRVUkxTdHJpbmcsIHBhdGgudXRmOCgpLmRhdGEoKSksIEFzeW5jRmlsZVN5c3RlbUNocm9taXVt
OjpjcmVhdGUoKSksIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4oKSwgZnJhbWUoKS0+c2NyaXB0KCkt
PmN1cnJlbnRXb3JsZENvbnRleHQoKS0+R2V0SXNvbGF0ZSgpKTsKIH0KIAotdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3RlbShXZWJG
aWxlU3lzdGVtOjpUeXBlIHR5cGUsIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3Ry
aW5nJiBwYXRoKQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6Y3JlYXRlU2Vy
aWFsaXphYmxlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtVHlwZSB0eXBlLCBjb25zdCBXZWJTdHJp
bmcmIG5hbWUsIGNvbnN0IFdlYlN0cmluZyYgcGF0aCkKIHsKICAgICBBU1NFUlQoZnJhbWUoKSk7
CiAgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0gPSBET01GaWxlU3lzdGVtOjpj
cmVhdGUoZnJhbWUoKS0+ZG9jdW1lbnQoKSwgbmFtZSwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6Rmls
ZVN5c3RlbVR5cGU+KHR5cGUpLCBLVVJMKFBhcnNlZFVSTFN0cmluZywgcGF0aC51dGY4KCkuZGF0
YSgpKSwgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OmNyZWF0ZSgpKTsKQEAgLTkxNSw3ICs5MTUs
NyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gV2ViRnJhbWVJbXBsOjpjcmVhdGVTZXJpYWxpemFi
bGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OgogICAgIHJldHVybiB0b1Y4KGZpbGVTeXN0ZW0u
cmVsZWFzZSgpLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCksIGZyYW1lKCktPnNjcmlwdCgpLT5j
dXJyZW50V29ybGRDb250ZXh0KCktPkdldElzb2xhdGUoKSk7CiB9CiAKLXY4OjpIYW5kbGU8djg6
OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeShXZWJGaWxlU3lzdGVtOjpUeXBl
IHR5cGUsIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsIGNvbnN0IFdlYlN0cmluZyYg
ZmlsZVN5c3RlbVBhdGgsIGNvbnN0IFdlYlN0cmluZyYgZmlsZVBhdGgsIGJvb2wgaXNEaXJlY3Rv
cnkpCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gV2ViRnJhbWVJbXBsOjpjcmVhdGVGaWxlRW50cnko
V2ViRmlsZVN5c3RlbVR5cGUgdHlwZSwgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwg
Y29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtUGF0aCwgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0
aCwgYm9vbCBpc0RpcmVjdG9yeSkKIHsKICAgICBBU1NFUlQoZnJhbWUoKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXggYzAwODIyNWQ3M2E0NTFmZjEz
M2Q3ZmM2ODExY2NlZTAwYzQ4YmU1Yy4uYjAzMzRlNDllNDMwNjFmOGFhZWMyOTgyMWI4M2NjZGU5
YzhhMTU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAg
LTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lRGVzdHJ1
Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oIgorI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9Db21waWxl
ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgpAQCAtMTI3LDEzICsxMjgsMTMgQEAgcHVibGljOgogICAgICAgICBpbnQgYXJnYywKICAgICAg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSk7CiAgICAgdmlydHVhbCB2ODo6TG9jYWw8
djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlwdENvbnRleHQoKSBjb25zdDsKLSAgICB2aXJ0dWFs
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5
cGUsCisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShX
ZWJGaWxlU3lzdGVtVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcGF0aCk7Ci0g
ICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5
c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBlLAorICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGNyZWF0ZVNlcmlhbGl6YWJsZUZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbVR5cGUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpOwot
ICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVFbnRyeShXZWJGaWxl
U3lzdGVtOjpUeXBlLAorICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZp
bGVFbnRyeShXZWJGaWxlU3lzdGVtVHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2Vi
U3RyaW5nJiBmaWxlU3lzdGVtUGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAKaW5kZXggMGI0
OWZmZjFkZmFiNTM5NDNhZDZiODQxMjg5OTM3ZGVkMGY4ZTkwZS4uZjU0NjkyMzM5NTIxMDIxNzA0
ODA4Mzg3NDljOGI2MzQ0ZjFlZjE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5jcHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBib29sIFdl
YldvcmtlckNsaWVudEltcGw6OmFsbG93RmlsZVN5c3RlbSgpCiAgICAgcmV0dXJuICF3ZWJWaWV3
LT5wZXJtaXNzaW9uQ2xpZW50KCkgfHwgd2ViVmlldy0+cGVybWlzc2lvbkNsaWVudCgpLT5hbGxv
d0ZpbGVTeXN0ZW0obV93ZWJGcmFtZSk7CiB9CiAKLXZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6
b3BlbkZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbTo6VHlwZSB0eXBlLCBsb25nIGxvbmcgc2l6ZSwg
Ym9vbCBjcmVhdGUsCit2b2lkIFdlYldvcmtlckNsaWVudEltcGw6Om9wZW5GaWxlU3lzdGVtKFdl
YkZpbGVTeXN0ZW1UeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRmlsZVN5c3RlbUNhbGxiYWNr
cyogY2FsbGJhY2tzKQogewogICAgIGlmIChhc2tlZFRvVGVybWluYXRlKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAppbmRleCBmYzQw
NjQzNjRhMWUzOTIwOGQ1Y2M1MDc0ZDJhZWQyNmRiM2VhM2MxLi44MzVkYjU0OWQ5ZTk2MzQwMTBi
ZDAwNjg2MWU4MTE2ZmNlZWI0YzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCkBAIC00MSw2ICs0MSw3IEBACiAKICNpbmNsdWRlICJX
ZWJXb3JrZXJCYXNlLmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KKyNpbmNs
dWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBA
IC04Myw3ICs4NCw3IEBAIHB1YmxpYzoKICAgICAvLyBXZWJDb21tb25Xb3JrZXJDbGllbnQgbWV0
aG9kczoKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dEYXRhYmFzZShXZWJGcmFtZSosIGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9u
ZyBlc3RpbWF0ZWRTaXplKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dGaWxlU3lz
dGVtKCk7Ci0gICAgdmlydHVhbCB2b2lkIG9wZW5GaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5
cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwKKyAgICB2aXJ0dWFsIHZvaWQgb3BlbkZp
bGVTeXN0ZW0oV2ViRmlsZVN5c3RlbVR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyop
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd0luZGV4ZWREQihjb25zdCBXZWJTdHJp
bmcmIG5hbWUpIE9WRVJSSURFOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuY3BwCmluZGV4IDM4
MGI5ZGQxMzI2ZTY5M2UwZjdmM2MwOThiMzM0OTc5M2E4MmVlOTAuLmNkYzMyNTcwODhkNjYxZWVk
ZWYxNDBmMmQ5YzBiODFiYzMwZTA4NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuY3BwCkBA
IC0yMDYsNyArMjA2LDcgQEAgdm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpj
bGVhblVwQWZ0ZXJDYWxsYmFjaygpCiAgICAgfQogfQogCi12b2lkIFdvcmtlckZpbGVTeXN0ZW1D
YWxsYmFja3NCcmlkZ2U6OnBvc3RPcGVuRmlsZVN5c3RlbVRvTWFpblRocmVhZChXZWJDb21tb25X
b3JrZXJDbGllbnQqIGNvbW1vbkNsaWVudCwgV2ViRmlsZVN5c3RlbTo6VHlwZSB0eXBlLCBsb25n
IGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0IFN0cmluZyYgbW9kZSkKK3ZvaWQgV29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6cG9zdE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFk
KFdlYkNvbW1vbldvcmtlckNsaWVudCogY29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVtVHlwZSB0
eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0IFN0cmluZyYgbW9kZSkKIHsK
ICAgICBkaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoCiAgICAgICAgIGNyZWF0ZUNhbGxiYWNrVGFz
aygmb3BlbkZpbGVTeXN0ZW1Pbk1haW5UaHJlYWQsCkBAIC0zMTAsNyArMzEwLDcgQEAgdm9pZCBX
b3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpwb3N0Q3JlYXRlU25hcHNob3RGaWxlVG9N
YWluVGhyZWFkKFdlYkZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsIHRoaXMs
IG1vZGUpKTsKIH0KIAotdm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpvcGVu
RmlsZVN5c3RlbU9uTWFpblRocmVhZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViQ29tbW9u
V29ya2VyQ2xpZW50KiBjb21tb25DbGllbnQsIFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgbG9u
ZyBsb25nIHNpemUsIGJvb2wgY3JlYXRlLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2U+IGJyaWRnZSwgY29uc3QgU3RyaW5nJiBtb2RlKQordm9pZCBXb3JrZXJGaWxl
U3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpvcGVuRmlsZVN5c3RlbU9uTWFpblRocmVhZChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgV2ViQ29tbW9uV29ya2VyQ2xpZW50KiBjb21tb25DbGllbnQsIFdl
YkZpbGVTeXN0ZW1UeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgUGFzc1Jl
ZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiBicmlkZ2UsIGNvbnN0IFN0cmlu
ZyYgbW9kZSkKIHsKICAgICBpZiAoIWNvbW1vbkNsaWVudCkKICAgICAgICAgYnJpZGdlLT5kaWRG
YWlsT25NYWluVGhyZWFkKFdlYkZpbGVFcnJvckFib3J0LCBtb2RlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NC
cmlkZ2UuaAppbmRleCBjOWZjMDcwYTA4ZmUwNDY3YTI1NTA3Y2NiNTQwYTViODZiZDhhNTYwLi43
Mjk5OGZhZGI4Y2U3YTJmY2M2Nzc3MTU4MWQxZjkzNDZkZTg5Y2VkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNr
c0JyaWRnZS5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlRXJyb3IuaD4KICNpbmNsdWRlIDxwdWJs
aWMvV2ViRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5o
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJWZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC04NCw3ICs4NSw3IEBAIHB1Ymxp
YzoKICAgICB9CiAKICAgICAvLyBNZXRob2RzIHRoYXQgY3JlYXRlIGFuIGluc3RhbmNlIGFuZCBw
b3N0IGFuIGluaXRpYWwgcmVxdWVzdCB0YXNrIHRvIHRoZSBtYWluIHRocmVhZC4gVGhleSBtdXN0
IGJlIGNhbGxlZCBvbiB0aGUgd29ya2VyIHRocmVhZC4KLSAgICB2b2lkIHBvc3RPcGVuRmlsZVN5
c3RlbVRvTWFpblRocmVhZChXZWJDb21tb25Xb3JrZXJDbGllbnQqLCBXZWJGaWxlU3lzdGVtOjpU
eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0IFN0cmluZyYgbW9kZSk7Cisg
ICAgdm9pZCBwb3N0T3BlbkZpbGVTeXN0ZW1Ub01haW5UaHJlYWQoV2ViQ29tbW9uV29ya2VyQ2xp
ZW50KiwgV2ViRmlsZVN5c3RlbVR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgY29u
c3QgU3RyaW5nJiBtb2RlKTsKICAgICB2b2lkIHBvc3RNb3ZlVG9NYWluVGhyZWFkKFdlYkZpbGVT
eXN0ZW0qLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBzcmNQYXRoLCBjb25zdCBXZWJDb3JlOjpLVVJM
JiBkZXN0UGF0aCwgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICB2b2lkIHBvc3RDb3B5VG9NYWlu
VGhyZWFkKFdlYkZpbGVTeXN0ZW0qLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBzcmNQYXRoLCBjb25z
dCBXZWJDb3JlOjpLVVJMJiBkZXN0UGF0aCwgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICB2b2lk
IHBvc3RSZW1vdmVUb01haW5UaHJlYWQoV2ViRmlsZVN5c3RlbSosIGNvbnN0IFdlYkNvcmU6OktV
UkwmIHBhdGgsIGNvbnN0IFN0cmluZyYgbW9kZSk7CkBAIC0xMDksNyArMTEwLDcgQEAgcHJpdmF0
ZToKICAgICBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlKFdlYkNvcmU6Oldvcmtlckxv
YWRlclByb3h5KiwgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkZpbGVTeXN0
ZW1DYWxsYmFja3NJbXBsKik7CiAKICAgICAvLyBNZXRob2RzIHRoYXQgYXJlIHRvIGJlIGNhbGxl
ZCBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgc3RhdGljIHZvaWQgb3BlbkZpbGVTeXN0ZW1Pbk1h
aW5UaHJlYWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkNvbW1vbldvcmtl
ckNsaWVudCosIFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0
ZSwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29uc3QgU3Ry
aW5nJiBtb2RlKTsKKyAgICBzdGF0aWMgdm9pZCBvcGVuRmlsZVN5c3RlbU9uTWFpblRocmVhZChX
ZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViQ29tbW9uV29ya2VyQ2xpZW50Kiwg
V2ViRmlsZVN5c3RlbVR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgUGFzc1JlZlB0
cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29uc3QgU3RyaW5nJiBtb2RlKTsK
ICAgICBzdGF0aWMgdm9pZCBtb3ZlT25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBXZWJGaWxlU3lzdGVtKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgc3JjUGF0aCwg
Y29uc3QgV2ViQ29yZTo6S1VSTCYgZGVzdFBhdGgsIFBhc3NSZWZQdHI8V29ya2VyRmlsZVN5c3Rl
bUNhbGxiYWNrc0JyaWRnZT4sIGNvbnN0IFN0cmluZyYgbW9kZSk7CiAgICAgc3RhdGljIHZvaWQg
Y29weU9uTWFpblRocmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViRmls
ZVN5c3RlbSosIGNvbnN0IFdlYkNvcmU6OktVUkwmIHNyY1BhdGgsIGNvbnN0IFdlYkNvcmU6OktV
UkwmIGRlc3RQYXRoLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+
LCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZU9uTWFpblRocmVh
ZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViRmlsZVN5c3RlbSosIGNvbnN0
IFdlYkNvcmU6OktVUkwmIHBhdGgsIFBhc3NSZWZQdHI8V29ya2VyRmlsZVN5c3RlbUNhbGxiYWNr
c0JyaWRnZT4sIGNvbnN0IFN0cmluZyYgbW9kZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193603</attachid>
            <date>2013-03-18 10:51:45 -0700</date>
            <delta_ts>2013-03-18 11:01:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112571-20130318134720.patch</filename>
            <type>text/plain</type>
            <size>28061</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAzMWRiMDc0NDAwOTdh
ZDNhZDQ1MmEyYTQ3ZjM3NzRkOGVhZGExNmYxLi41YWRmNzQ0ZDA5MDE5OTM3NDk4YmYwYWJiNDQw
Y2IyNTBiODFlYzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wMy0xOCAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBDcmVhdGUgV2ViRmlsZVN5c3RlbVR5cGUgZW51bSB0byBhbGxvdyBlYXNpZXIgZmlsZXN5c3Rl
bSByZWZhY3RvcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEyNTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTmV3IHRvcC1sZXZlbCBlbnVtIChub3QgdGllZCB0byBXZWJGaWxlU3lzdGVtIGNsYXNz
KSB3aWxsIGFsbG93CisgICAgICAgIGVhc2llciByZWZhY3RvcmluZyBvZiBmaWxlc3lzdGVtIG1l
dGhvZHMgd2l0aGluIHRoZSBQbGF0Zm9ybS8KKyAgICAgICAgZGlyZWN0b3J5LiAoQWxsIGNoYW5n
ZXMgYXJlIGJlaGluZCBhbiAjaWZkZWYgc28gd2UgY2FuIHN5bmMKKyAgICAgICAgcmVxdWlyZWQg
Y2hhbmdlcyBpbiBlbWJlZGRlcnMuKQorCisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYkZp
bGVTeXN0ZW1UeXBlLmg6IG5ldyBmaWxlCisgICAgICAgIChXZWJLaXQpOgorCisgICAgICAgICog
UGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5o
OgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQu
aC4KKyAgICAgICAgKFdlYktpdCk6CisKIDIwMTMtMDMtMTcgIERhbmEgSmFuc2VucyAgPGRhbmFr
akBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgdGhlIHpvb20gZmls
dGVyIG9wZXJhdGlvbiBpZmRlZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4Y2FiZDBj
NGRhM2M5ZGVlNmM4NGNiNWU4MDYyYmQwMGUzZjczODQ1Li5kYjA2NWMyOWQzYWU3OTVjMzkyMzU3
ZTk2ZjA1NTZlNzE2NzcxYTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDEzLTAzLTE4ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbQ2hyb21pdW1dIENyZWF0ZSBXZWJGaWxlU3lzdGVtVHlwZSBlbnVtIHRvIGFs
bG93IGVhc2llciBmaWxlc3lzdGVtIHJlZmFjdG9yaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI1NzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZv
ciBuZXcgV2ViRmlsZVN5c3RlbVR5cGUgZW51bS4gKEFsbAorICAgICAgICBjaGFuZ2VzIGFyZSBi
ZWhpbmQgYW4gI2lmZGVmIHNvIHdlIGNhbiBzeW5jIHJlcXVpcmVkIGNoYW5nZXMgaW4gZW1iZWRk
ZXJzLikKKworICAgICAgICAqIHB1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaDoKKyAgICAg
ICAgKFdlYkNvbW1vbldvcmtlckNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbW1vbldv
cmtlckNsaWVudDo6b3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5o
OgorICAgICAgICAoV2ViRnJhbWUpOgorICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5o
OgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNs
aWVudDo6b3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6
ZGVsZXRlRmlsZVN5c3RlbSk6CisgICAgICAgICogc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6b3BlbkZpbGVTeXN0
ZW1IZWxwZXIpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxGaWxlU3lzdGVtOjpkZWxldGVGaWxl
U3lzdGVtKToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZVN5c3RlbSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3Rl
bSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZUVudHJ5KToKKyAg
ICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAgIChXZWJGcmFtZUltcGwpOgorICAg
ICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6Om9wZW5GaWxlU3lzdGVtKToKKyAg
ICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oOgorICAgICAgICAqIHNyYy9Xb3JrZXJG
aWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OnBvc3RPcGVuRmlsZVN5
c3RlbVRvTWFpblRocmVhZCk6CisgICAgICAgIChXZWJLaXQ6OldvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2U6Om9wZW5GaWxlU3lzdGVtT25NYWluVGhyZWFkKToKKyAgICAgICAgKiBzcmMv
V29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oOgorICAgICAgICAoV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZSk6CisKIDIwMTMtMDMtMTcgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgV2ViTm9kZTo6
aGFzRXZlbnRMaXN0ZW5lcnMgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZv
cm0uZ3lwaSBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCmluZGV4IDYwYWMxYjg3NWM0
YzY5ZWVhN2E2MjI2Yjc4YTc5NjIzNTdkNjdlMjguLmZlMjExYmQ2N2E1MjA0N2NmNDc4ODc1NDRj
NTY1YjljOTdlNDkyMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBp
CisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCkBAIC02MCw2ICs2MCw3IEBACiAg
ICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3MuaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW1FbnRyeS5oJywKKyAgICAgICAgICAgICdj
aHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCcsCiAgICAgICAgICAgICAnY2hyb21p
dW0vcHVibGljL1dlYkZpbGVVdGlsaXRpZXMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVi
bGljL1dlYkZpbHRlck9wZXJhdGlvbi5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMv
V2ViRmlsdGVyT3BlcmF0aW9ucy5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9XZWJGaWxlU3lzdGVtLmgKaW5kZXggZWMxZWQxZDE2MDUyMmE0NmE4YWRmZTFhOWFmNjk5
NTM4YjgzNzUzYS4uZTU5YjIzODhmY2FhMzA5MzQ5YmY1NDNjMDkyMTNkM2E2NDdiNDI3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgK
KysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgKQEAg
LTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgV2ViRmlsZVN5c3RlbV9oCiAKICNpbmNsdWRlICJXZWJD
b21tb24uaCIKKyNpbmNsdWRlICJXZWJGaWxlU3lzdGVtVHlwZS5oIgogI2luY2x1ZGUgIldlYlVS
TC5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDEwYjUwYjIzYTc5
NDJiYzJkMWVjMDY0ZjU3OTk1YmVlNGI5MmM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1Bs
YXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oCkBAIC0wLDAgKzEsNTQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIFdlYkZpbGVTeXN0ZW1UeXBlX2gKKyNkZWZpbmUgV2ViRmlsZVN5c3RlbVR5cGVf
aAorCisvLyBUT0RPKHBpbGdyaW0pIFVuY29tbWVudCB0aGlzIG9uY2UgYWxsIGVtYmVkZGVycyBo
YXZlIGJlZW4gdXBkYXRlZCB0byB1c2UgdGhpcyBuZXcgZW51bQorLy8gI2RlZmluZSBVU0VfTkVX
X1dFQkZJTEVTWVNURU1UWVBFCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisjaWZkZWYgVVNFX05F
V19XRUJGSUxFU1lTVEVNVFlQRQorZW51bSBXZWJGaWxlU3lzdGVtVHlwZSB7CisgICAgV2ViRmls
ZVN5c3RlbVR5cGVUZW1wb3JhcnksCisgICAgV2ViRmlsZVN5c3RlbVR5cGVQZXJzaXN0ZW50LAor
CisgICAgLy8gSW5kaWNhdGVzIGFuIGlzb2xhdGVkIGZpbGVzeXN0ZW0gd2hpY2ggb25seSBleHBv
c2VzIGEgc2V0IG9mIGZpbGVzLgorICAgIFdlYkZpbGVTeXN0ZW1UeXBlSXNvbGF0ZWQsCisKKyAg
ICAvLyBJbmRpY2F0ZXMgYSBub24tc2FuZGJveGVkIGZpbGVzeXN0ZW0uCisgICAgV2ViRmlsZVN5
c3RlbVR5cGVFeHRlcm5hbCwKK307CisjZW5kaWYgLy8gVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQ
RQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCmluZGV4IDcwNDhm
ZTkyZTMyY2M3N2E1OGQwZDkzMjM2MGFiZjJhNmYyNzE0NGMuLmE4NzA2ZjMzMjdlMTE0N2RiMmJm
NDI0OGIzZGZmMWRmNWU0Y2Q4Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCkBAIC0zMyw2ICszMyw3IEBACiAKICNp
bmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uLmgiCiAj
aW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0u
aCIKKyNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5
c3RlbVR5cGUuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTU5LDcgKzYwLDExIEBAIHB1
YmxpYzoKICAgICB9CiAKICAgICAvLyBDYWxsZWQgb24gdGhlIG1haW4gd2Via2l0IHRocmVhZCBi
ZWZvcmUgb3BlbmluZyBhIGZpbGUgc3lzdGVtLgorI2lmZGVmIFVTRV9ORVdfV0VCRklMRVNZU1RF
TVRZUEUKKyAgICB2aXJ0dWFsIHZvaWQgb3BlbkZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbVR5cGUs
IGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopCisj
ZWxzZQogICAgIHZpcnR1YWwgdm9pZCBvcGVuRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBl
LCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKQor
I2VuZGlmCiAgICAgewogICAgICAgICBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKaW5kZXggNzE4ZTY4NGM2
NzhmYmU1NzM1NGNlOTc4MmNhNjBkYzkzZjczZDcyMy4uYWUzMDYwODBlNGI2OWY1NjFiZjQ5Njlm
MzE2ZGU1YWIyNjkwNDZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFt
ZS5oCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViQ2FudmFzLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hy
b21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9y
bS9jaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCIKICNpbmNsdWRlICIuLi8uLi8u
Li9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsLmgiCiAjaW5j
bHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlJlZmVycmVyUG9saWN5
LmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlVSTC5o
IgpAQCAtMjkwLDIzICsyOTEsNDEgQEAgcHVibGljOgogICAgIC8vIGJlIGNhbGxpbmcgdGhpcyBB
UEkuCiAgICAgdmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlwdENv
bnRleHQoKSBjb25zdCA9IDA7CiAKKyNpZmRlZiBVU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisg
ICAgLy8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBmaWxlIHN5c3RlbSBvYmplY3QuCisgICAgdmly
dHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVt
VHlwZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAorICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIHJvb3RVUkwpID0gMDsKKyAgICAvLyBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIHNlcmlh
bGl6YWJsZSBmaWxlIHN5c3RlbSBvYmplY3QuCisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIEFQ
SSBhZnRlciB3ZSBoYXZlIGEgYmV0dGVyIHdheSBvZiBjcmVhdGluZyBzZXJpYWxpemVkCisgICAg
Ly8gZmlsZSBzeXN0ZW0gb2JqZWN0LgorICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGNyZWF0ZVNlcmlhbGl6YWJsZUZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbVR5cGUsCisgICAgICAg
IGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiByb290VVJM
KSA9IDA7CisgICAgLy8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBmaWxlIG9yIGRpcmVjdG9yeSBl
bnRyeSBvYmplY3QuCisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmls
ZUVudHJ5KFdlYkZpbGVTeXN0ZW1UeXBlLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVT
eXN0ZW1OYW1lLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1Sb290VVJMLAor
ICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVQYXRoLAorICAgICAgICBib29sIGlzRGlyZWN0
b3J5KSA9IDA7CisjZWxzZQogICAgIC8vIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgZmlsZSBzeXN0
ZW0gb2JqZWN0LgogICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVT
eXN0ZW0oV2ViRmlsZVN5c3RlbTo6VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYg
cm9vdFVSTCkgPSAwOworICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG5hbWUsCisgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgcm9vdFVSTCkgPSAwOwogICAgIC8vIENyZWF0ZXMgYW4gaW5zdGFuY2Ug
b2Ygc2VyaWFsaXphYmxlIGZpbGUgc3lzdGVtIG9iamVjdC4KICAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgQVBJIGFmdGVyIHdlIGhhdmUgYSBiZXR0ZXIgd2F5IG9mIGNyZWF0aW5nIHNlcmlhbGl6
ZWQKICAgICAvLyBmaWxlIHN5c3RlbSBvYmplY3QuCiAgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gY3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBy
b290VVJMKSA9IDA7CisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKKyAgICAgICAgY29u
c3QgV2ViU3RyaW5nJiByb290VVJMKSA9IDA7CiAgICAgLy8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBv
ZiBmaWxlIG9yIGRpcmVjdG9yeSBlbnRyeSBvYmplY3QuCiAgICAgdmlydHVhbCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gY3JlYXRlRmlsZUVudHJ5KFdlYkZpbGVTeXN0ZW06OlR5cGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgZmlsZVN5c3RlbU5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVJvb3RVUkwsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgZmlsZVBhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpID0gMDsKLQorICAgICAgICBjb25zdCBXZWJTdHJpbmcm
IGZpbGVTeXN0ZW1OYW1lLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1Sb290
VVJMLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVQYXRoLAorICAgICAgICBib29sIGlz
RGlyZWN0b3J5KSA9IDA7CisjZW5kaWYgLy8gVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQogCiAg
ICAgLy8gTmF2aWdhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJGcmFtZUNsaWVudC5oCmluZGV4IGUwZWViYmZjZjhjZGZiZDNkM2U4ZTczNTViNTBmMjkxZWVl
NjNlNmEuLjM3MmNhZWUwMjA1MjZiMWUzOTViNjEwZmM2MjRkZTJjZjY0ZTMwZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaApAQCAtMzMsNiAr
MzMsNyBAQAogCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
YkNvbW1vbi5oIgogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1dlYkZpbGVTeXN0ZW1UeXBlLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hy
b21pdW0vcHVibGljL1dlYlVSTEVycm9yLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0v
Y2hyb21pdW0vcHVibGljL1dlYlVSTFJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJET01NZXNzYWdl
RXZlbnQuaCIKQEAgLTM1OSw5ICszNjAsMTUgQEAgcHVibGljOgogICAgIC8vIGlzIGNvbXBsZXRl
ZCBzdWNjZXNzZnVsbHkuIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJl
CiAgICAgLy8gY2FsbGVkIG90aGVyd2lzZS4gVGhlIGNyZWF0ZSBib29sIGlzIGZvciBpbmRpY2F0
aW5nIHdoZXRoZXIgb3Igbm90IHRvCiAgICAgLy8gY3JlYXRlIHJvb3QgcGF0aCBmb3IgZmlsZSBz
eXN0ZW1zIGlmIGl0IGRvIG5vdCBleGlzdC4KKyNpZmRlZiBVU0VfTkVXX1dFQkZJTEVTWVNURU1U
WVBFCisgICAgdmlydHVhbCB2b2lkIG9wZW5GaWxlU3lzdGVtKAorICAgICAgICBXZWJGcmFtZSos
IFdlYkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwKKyAgICAgICAgYm9vbCBjcmVhdGUs
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IH0KKyNlbHNlCiAgICAgdmlydHVhbCB2b2lkIG9w
ZW5GaWxlU3lzdGVtKAogICAgICAgICBXZWJGcmFtZSosIFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxv
bmcgbG9uZyBzaXplLAogICAgICAgICBib29sIGNyZWF0ZSwgV2ViRmlsZVN5c3RlbUNhbGxiYWNr
cyopIHsgfQorI2VuZGlmCiAKICAgICAvLyBEZWxldGVzIEZpbGVTeXN0ZW0uCiAgICAgLy8gV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhl
IG9wZXJhdGlvbgpAQCAtMzY5LDggKzM3NiwxMyBAQCBwdWJsaWM6CiAgICAgLy8gY2FsbGVkIG90
aGVyd2lzZS4KICAgICAvLyBBbGwgaW4tZmxpZ2h0IG9wZXJhdGlvbnMgYW5kIGZvbGxvd2luZyBv
cGVyYXRpb25zIG1heSBmYWlsIGFmdGVyIHRoZQogICAgIC8vIEZpbGVTeXN0ZW0gaXMgZGVsZXRl
ZC4KKyNpZmRlZiBVU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgdmlydHVhbCB2b2lkIGRl
bGV0ZUZpbGVTeXN0ZW0oCisgICAgICAgIFdlYkZyYW1lKiwgV2ViRmlsZVN5c3RlbVR5cGUsIFdl
YkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IH0KKyNlbHNlCiAgICAgdmlydHVhbCB2b2lkIGRlbGV0
ZUZpbGVTeXN0ZW0oCiAgICAgICAgIFdlYkZyYW1lKiwgV2ViRmlsZVN5c3RlbTo6VHlwZSwgV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgfQorI2VuZGlmCiAKICAgICAvLyBRdW90YSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21p
dW0uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21p
dW0uY3BwCmluZGV4IDAxYmY1YmRiNDRjMGQyNmExYWM5NDNlOGE1ODI0OGQ1ZDMzZThmZDguLjk2
ZDJjMzM1ZjM2MDJkOTViYzY3NjAzZDc3ZjlkZDVkZjk5NTJhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKQEAg
LTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDxwdWJs
aWMvV2ViRmlsZUVycm9yLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KKyNp
bmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTE1Myw3ICsxNTQs
MTEgQEAgYm9vbCBhbGxvd0ZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xpZW50
KiBjb21tb25DbGllbnQpCiAgICAgcmV0dXJuIGJyaWRnZS0+cmVzdWx0KCk7CiB9CiAKKyNpZmRl
ZiBVU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCit2b2lkIG9wZW5GaWxlU3lzdGVtRm9yV29ya2Vy
KFdlYkNvbW1vbldvcmtlckNsaWVudCogY29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVtVHlwZSB0
eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3NJ
bXBsKiBjYWxsYmFja3MsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25vdXNUeXBl
KQorI2Vsc2UKIHZvaWQgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29ya2VyQ2xp
ZW50KiBjb21tb25DbGllbnQsIFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgbG9uZyBsb25nIHNp
emUsIGJvb2wgY3JlYXRlLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbCogY2FsbGJhY2tzLCBG
aWxlU3lzdGVtU3luY2hyb25vdXNUeXBlIHN5bmNocm9ub3VzVHlwZSkKKyNlbmRpZgogewogICAg
IFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBXb3JrZXJTY3JpcHRDb250cm9s
bGVyOjpjb250cm9sbGVyRm9yQ29udGV4dCgpOwogICAgIFdvcmtlckNvbnRleHQqIHdvcmtlckNv
bnRleHQgPSBjb250cm9sbGVyLT53b3JrZXJDb250ZXh0KCk7CkBAIC0xOTksNyArMjA0LDExIEBA
IHN0YXRpYyB2b2lkIG9wZW5GaWxlU3lzdGVtSGVscGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIEZpbGVTeXN0ZW1UeXBlCiAgICAgICAgIGlmICh3ZWJWaWV3LT5wZXJtaXNzaW9u
Q2xpZW50KCkgJiYgIXdlYlZpZXctPnBlcm1pc3Npb25DbGllbnQoKS0+YWxsb3dGaWxlU3lzdGVt
KHdlYkZyYW1lKSkKICAgICAgICAgICAgIGFsbG93ZWQgPSBmYWxzZTsKICAgICAgICAgZWxzZQor
I2lmZGVmIFVTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKKyAgICAgICAgICAgIHdlYkZyYW1lLT5j
bGllbnQoKS0+b3BlbkZpbGVTeXN0ZW0od2ViRnJhbWUsIHN0YXRpY19jYXN0PFdlYkZpbGVTeXN0
ZW1UeXBlPih0eXBlKSwgc2l6ZSwgY3JlYXRlID09IENyZWF0ZUlmTm90UHJlc2VudCwgbmV3IFdl
YkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsKGNhbGxiYWNrcykpOworI2Vsc2UKICAgICAgICAgICAg
IHdlYkZyYW1lLT5jbGllbnQoKS0+b3BlbkZpbGVTeXN0ZW0od2ViRnJhbWUsIHN0YXRpY19jYXN0
PFdlYkZpbGVTeXN0ZW06OlR5cGU+KHR5cGUpLCBzaXplLCBjcmVhdGUgPT0gQ3JlYXRlSWZOb3RQ
cmVzZW50LCBuZXcgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzKSk7CisjZW5k
aWYKICAgICB9IGVsc2UgewogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgICAgICBXb3JrZXJDb250
ZXh0KiB3b3JrZXJDb250ZXh0ID0gc3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KGNvbnRleHQp
OwpAQCAtMjA3LDggKzIxNiwxMSBAQCBzdGF0aWMgdm9pZCBvcGVuRmlsZVN5c3RlbUhlbHBlcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBGaWxlU3lzdGVtVHlwZQogICAgICAgICBp
ZiAoIWFsbG93RmlsZVN5c3RlbUZvcldvcmtlcih3ZWJXb3JrZXItPmNvbW1vbkNsaWVudCgpKSkK
ICAgICAgICAgICAgIGFsbG93ZWQgPSBmYWxzZTsKICAgICAgICAgZWxzZQorI2lmZGVmIFVTRV9O
RVdfV0VCRklMRVNZU1RFTVRZUEUKKyAgICAgICAgICAgIG9wZW5GaWxlU3lzdGVtRm9yV29ya2Vy
KHdlYldvcmtlci0+Y29tbW9uQ2xpZW50KCksIHN0YXRpY19jYXN0PFdlYkZpbGVTeXN0ZW1UeXBl
Pih0eXBlKSwgc2l6ZSwgY3JlYXRlID09IENyZWF0ZUlmTm90UHJlc2VudCwgbmV3IFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3NJbXBsKGNhbGxiYWNrcywgY29udGV4dCwgc3luY2hyb25vdXNUeXBlKSwg
c3luY2hyb25vdXNUeXBlKTsKKyNlbHNlCiAgICAgICAgICAgICBvcGVuRmlsZVN5c3RlbUZvcldv
cmtlcih3ZWJXb3JrZXItPmNvbW1vbkNsaWVudCgpLCBzdGF0aWNfY2FzdDxXZWJGaWxlU3lzdGVt
OjpUeXBlPih0eXBlKSwgc2l6ZSwgY3JlYXRlID09IENyZWF0ZUlmTm90UHJlc2VudCwgbmV3IFdl
YkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsKGNhbGxiYWNrcywgY29udGV4dCwgc3luY2hyb25vdXNU
eXBlKSwgc3luY2hyb25vdXNUeXBlKTsKLQorI2VuZGlmCiAjZWxzZQogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICNlbmRpZgpAQCAtMjQzLDcgKzI1NSwxMSBAQCB2b2lkIExvY2FsRmls
ZVN5c3RlbTo6ZGVsZXRlRmlsZVN5c3RlbShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBGaWxlU3lzdAogICAgICAgICByZXR1cm47CiAgICAgfQogCisjaWZkZWYgVVNFX05FV19XRUJG
SUxFU1lTVEVNVFlQRQorICAgIHdlYkZyYW1lLT5jbGllbnQoKS0+ZGVsZXRlRmlsZVN5c3RlbSh3
ZWJGcmFtZSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5c3RlbVR5cGU+KHR5cGUpLCBuZXcgV2ViRmls
ZVN5c3RlbUNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzKSk7CisjZWxzZQogICAgIHdlYkZyYW1lLT5j
bGllbnQoKS0+ZGVsZXRlRmlsZVN5c3RlbSh3ZWJGcmFtZSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5
c3RlbTo6VHlwZT4odHlwZSksIG5ldyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbChjYWxsYmFj
a3MpKTsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBmZTI4NmI5MmEyNThkZTQ2YTI2
ZGE3YzQ5ODJkZWJjN2EwZDc4Y2RjLi4wYzI0MjgzYTJhZDA0MWEyODZkN2E5OGNhMWU5Y2JjZTY4
MGUyMjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAK
QEAgLTE4MSw2ICsxODEsNyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDxwdWJs
aWMvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgorI2luY2x1
ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9h
dFBvaW50Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkZsb2F0UmVjdC5oPgogI2luY2x1ZGUgPHB1
YmxpYy9XZWJQb2ludC5oPgpAQCAtOTAxLDEzICs5MDIsMjEgQEAgdjg6OkxvY2FsPHY4OjpDb250
ZXh0PiBXZWJGcmFtZUltcGw6Om1haW5Xb3JsZFNjcmlwdENvbnRleHQoKSBjb25zdAogICAgIHJl
dHVybiBTY3JpcHRDb250cm9sbGVyOjptYWluV29ybGRDb250ZXh0KGZyYW1lKCkpOwogfQogCisj
aWZkZWYgVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdl
YkZyYW1lSW1wbDo6Y3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtVHlwZSB0eXBlLCBjb25z
dCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlN0cmluZyYgcGF0aCkKKyNlbHNlCiB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gV2ViRnJhbWVJbXBsOjpjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0
ZW06OlR5cGUgdHlwZSwgY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcmIHBh
dGgpCisjZW5kaWYKIHsKICAgICBBU1NFUlQoZnJhbWUoKSk7CiAgICAgcmV0dXJuIHRvVjgoRE9N
RmlsZVN5c3RlbTo6Y3JlYXRlKGZyYW1lKCktPmRvY3VtZW50KCksIG5hbWUsIHN0YXRpY19jYXN0
PFdlYkNvcmU6OkZpbGVTeXN0ZW1UeXBlPih0eXBlKSwgS1VSTChQYXJzZWRVUkxTdHJpbmcsIHBh
dGgudXRmOCgpLmRhdGEoKSksIEFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjpjcmVhdGUoKSksIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4oKSwgZnJhbWUoKS0+c2NyaXB0KCktPmN1cnJlbnRXb3JsZENv
bnRleHQoKS0+R2V0SXNvbGF0ZSgpKTsKIH0KIAorI2lmZGVmIFVTRV9ORVdfV0VCRklMRVNZU1RF
TVRZUEUKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZVNlcmlhbGl6
YWJsZUZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbVR5cGUgdHlwZSwgY29uc3QgV2ViU3RyaW5nJiBu
YW1lLCBjb25zdCBXZWJTdHJpbmcmIHBhdGgpCisjZWxzZQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFdlYkZyYW1lSW1wbDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVt
OjpUeXBlIHR5cGUsIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBwYXRo
KQorI2VuZGlmCiB7CiAgICAgQVNTRVJUKGZyYW1lKCkpOwogICAgIFJlZlB0cjxET01GaWxlU3lz
dGVtPiBmaWxlU3lzdGVtID0gRE9NRmlsZVN5c3RlbTo6Y3JlYXRlKGZyYW1lKCktPmRvY3VtZW50
KCksIG5hbWUsIHN0YXRpY19jYXN0PFdlYkNvcmU6OkZpbGVTeXN0ZW1UeXBlPih0eXBlKSwgS1VS
TChQYXJzZWRVUkxTdHJpbmcsIHBhdGgudXRmOCgpLmRhdGEoKSksIEFzeW5jRmlsZVN5c3RlbUNo
cm9taXVtOjpjcmVhdGUoKSk7CkBAIC05MTUsNyArOTI0LDExIEBAIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZVNlcmlhbGl6YWJsZUZpbGVTeXN0ZW0oV2ViRmlsZVN5
c3RlbTo6CiAgICAgcmV0dXJuIHRvVjgoZmlsZVN5c3RlbS5yZWxlYXNlKCksIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4oKSwgZnJhbWUoKS0+c2NyaXB0KCktPmN1cnJlbnRXb3JsZENvbnRleHQoKS0+
R2V0SXNvbGF0ZSgpKTsKIH0KIAorI2lmZGVmIFVTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKK3Y4
OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeShXZWJGaWxl
U3lzdGVtVHlwZSB0eXBlLCBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1OYW1lLCBjb25zdCBX
ZWJTdHJpbmcmIGZpbGVTeXN0ZW1QYXRoLCBjb25zdCBXZWJTdHJpbmcmIGZpbGVQYXRoLCBib29s
IGlzRGlyZWN0b3J5KQorI2Vsc2UKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6
OmNyZWF0ZUZpbGVFbnRyeShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGNvbnN0IFdlYlN0cmlu
ZyYgZmlsZVN5c3RlbU5hbWUsIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsIGNvbnN0
IFdlYlN0cmluZyYgZmlsZVBhdGgsIGJvb2wgaXNEaXJlY3RvcnkpCisjZW5kaWYKIHsKICAgICBB
U1NFUlQoZnJhbWUoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmgKaW5kZXggYzAwODIyNWQ3M2E0NTFmZjEzM2Q3ZmM2ODExY2NlZTAwYzQ4YmU1Yy4uNjcwMTU0
N2IxYjE3NzUyYWUzZTJlM2M2NTRmOTE1YTg4MTkwYjhkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJGcmFt
ZS5oIgogI2luY2x1ZGUgIkZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkZy
YW1lTG9hZGVyQ2xpZW50SW1wbC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlw
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMTI3LDE3ICsxMjgsMzEgQEAgcHVibGlj
OgogICAgICAgICBpbnQgYXJnYywKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3Zb
XSk7CiAgICAgdmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlwdENv
bnRleHQoKSBjb25zdDsKKyNpZmRlZiBVU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgdmly
dHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVt
VHlwZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAorICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIHBhdGgpOworICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZVNl
cmlhbGl6YWJsZUZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbVR5cGUsCisgICAgICAgIGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBwYXRoKTsKKyAgICB2aXJ0
dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3RlbVR5
cGUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCisgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYg
ZmlsZVBhdGgsCisgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpOworI2Vsc2UKICAgICB2aXJ0dWFs
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5
cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJTdHJpbmcmIG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpOworICAgICAgICBjb25zdCBX
ZWJTdHJpbmcmIG5hbWUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcGF0aCk7CiAgICAgdmly
dHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3RlbShX
ZWJGaWxlU3lzdGVtOjpUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBwYXRoKTsKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAor
ICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpOwogICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGNyZWF0ZUZpbGVFbnRyeShXZWJGaWxlU3lzdGVtOjpUeXBlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcm
IGZpbGVTeXN0ZW1OYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1QYXRoLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZp
bGVQYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBib29sIGlzRGlyZWN0b3J5KTsKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVt
TmFtZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtUGF0aCwKKyAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwKKyAgICAgICAgYm9vbCBpc0RpcmVjdG9yeSk7Cisj
ZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgcmVsb2FkKGJvb2wgaWdub3JlQ2FjaGUpOwogICAgIHZp
cnR1YWwgdm9pZCByZWxvYWRXaXRoT3ZlcnJpZGVVUkwoY29uc3QgV2ViVVJMJiBvdmVycmlkZVVy
bCwgYm9vbCBpZ25vcmVDYWNoZSk7CiAgICAgdmlydHVhbCB2b2lkIGxvYWRSZXF1ZXN0KGNvbnN0
IFdlYlVSTFJlcXVlc3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYldvcmtlckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5jcHAKaW5kZXggMGI0OWZmZjFkZmFiNTM5NDNhZDZiODQxMjg5OTM3
ZGVkMGY4ZTkwZS4uNWFiNTMxN2M4ZTM1ZDI5NzYyMDk0OTg2YzZkZTYxZWMxYmRjZDlhNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5j
cHAKQEAgLTEyMiw4ICsxMjIsMTMgQEAgYm9vbCBXZWJXb3JrZXJDbGllbnRJbXBsOjphbGxvd0Zp
bGVTeXN0ZW0oKQogICAgIHJldHVybiAhd2ViVmlldy0+cGVybWlzc2lvbkNsaWVudCgpIHx8IHdl
YlZpZXctPnBlcm1pc3Npb25DbGllbnQoKS0+YWxsb3dGaWxlU3lzdGVtKG1fd2ViRnJhbWUpOwog
fQogCisjaWZkZWYgVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQordm9pZCBXZWJXb3JrZXJDbGll
bnRJbXBsOjpvcGVuRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtVHlwZSB0eXBlLCBsb25nIGxvbmcg
c2l6ZSwgYm9vbCBjcmVhdGUsCisgICAgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyogY2FsbGJhY2tz
KQorI2Vsc2UKIHZvaWQgV2ViV29ya2VyQ2xpZW50SW1wbDo6b3BlbkZpbGVTeXN0ZW0oV2ViRmls
ZVN5c3RlbTo6VHlwZSB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3Mq
IGNhbGxiYWNrcykKKyAgICBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKiBjYWxsYmFja3MpCisjZW5k
aWYKIHsKICAgICBpZiAoYXNrZWRUb1Rlcm1pbmF0ZSgpKSB7CiAgICAgICAgIGNhbGxiYWNrcy0+
ZGlkRmFpbChXZWJGaWxlRXJyb3JBYm9ydCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgKaW5kZXggZmM0MDY0MzY0YTFlMzkyMDhkNWNjNTA3
NGQyYWVkMjZkYjNlYTNjMS4uYTZmZWVlMTg4ZjQxYjI0YzljMjRiNjNiMmZjODk3NTljYTNmNmE1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudElt
cGwuaApAQCAtNDEsNiArNDEsNyBAQAogCiAjaW5jbHVkZSAiV2ViV29ya2VyQmFzZS5oIgogI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVT
eXN0ZW1UeXBlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtODMsOCArODQsMTMgQEAgcHVi
bGljOgogICAgIC8vIFdlYkNvbW1vbldvcmtlckNsaWVudCBtZXRob2RzOgogICAgIHZpcnR1YWwg
Ym9vbCBhbGxvd0RhdGFiYXNlKFdlYkZyYW1lKiwgY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25z
dCBXZWJTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBhbGxvd0ZpbGVTeXN0ZW0oKTsKKyNpZmRlZiBVU0Vf
TkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgdmlydHVhbCB2b2lkIG9wZW5GaWxlU3lzdGVtKFdl
YkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsCisgICAgICAgIFdl
YkZpbGVTeXN0ZW1DYWxsYmFja3MqKSBPVkVSUklERTsKKyNlbHNlCiAgICAgdmlydHVhbCB2b2lk
IG9wZW5GaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29s
IGNyZWF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRmlsZVN5c3RlbUNh
bGxiYWNrcyopIE9WRVJSSURFOworICAgICAgICBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgT1ZF
UlJJREU7CisjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dJbmRleGVkREIoY29uc3QgV2Vi
U3RyaW5nJiBuYW1lKSBPVkVSUklERTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRn
ZS5jcHAKaW5kZXggMzgwYjlkZDEzMjZlNjkzZTBmN2YzYzA5OGIzMzQ5NzkzYTgyZWU5MC4uZjM4
NzAxYTk2MDBjNWJiZjI5ODY0YmM0YmRhM2NiMWU3ZTMzN2QyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNr
c0JyaWRnZS5jcHAKQEAgLTIwNiw3ICsyMDYsMTEgQEAgdm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2Fs
bGJhY2tzQnJpZGdlOjpjbGVhblVwQWZ0ZXJDYWxsYmFjaygpCiAgICAgfQogfQogCisjaWZkZWYg
VVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQordm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tz
QnJpZGdlOjpwb3N0T3BlbkZpbGVTeXN0ZW1Ub01haW5UaHJlYWQoV2ViQ29tbW9uV29ya2VyQ2xp
ZW50KiBjb21tb25DbGllbnQsIFdlYkZpbGVTeXN0ZW1UeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXpl
LCBib29sIGNyZWF0ZSwgY29uc3QgU3RyaW5nJiBtb2RlKQorI2Vsc2UKIHZvaWQgV29ya2VyRmls
ZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6cG9zdE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFkKFdl
YkNvbW1vbldvcmtlckNsaWVudCogY29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVtOjpUeXBlIHR5
cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgY29uc3QgU3RyaW5nJiBtb2RlKQorI2Vu
ZGlmCiB7CiAgICAgZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKAogICAgICAgICBjcmVhdGVDYWxs
YmFja1Rhc2soJm9wZW5GaWxlU3lzdGVtT25NYWluVGhyZWFkLApAQCAtMzEwLDcgKzMxNCwxMSBA
QCB2b2lkIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OnBvc3RDcmVhdGVTbmFwc2hv
dEZpbGVUb01haW5UaHJlYWQoV2ViRmlsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0
aCwgdGhpcywgbW9kZSkpOwogfQogCisjaWZkZWYgVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQor
dm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpvcGVuRmlsZVN5c3RlbU9uTWFp
blRocmVhZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViQ29tbW9uV29ya2VyQ2xpZW50KiBj
b21tb25DbGllbnQsIFdlYkZpbGVTeXN0ZW1UeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29s
IGNyZWF0ZSwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiBicmlk
Z2UsIGNvbnN0IFN0cmluZyYgbW9kZSkKKyNlbHNlCiB2b2lkIFdvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2U6Om9wZW5GaWxlU3lzdGVtT25NYWluVGhyZWFkKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBXZWJDb21tb25Xb3JrZXJDbGllbnQqIGNvbW1vbkNsaWVudCwgV2ViRmlsZVN5c3Rl
bTo6VHlwZSB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIFBhc3NSZWZQdHI8V29y
a2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZT4gYnJpZGdlLCBjb25zdCBTdHJpbmcmIG1vZGUp
CisjZW5kaWYKIHsKICAgICBpZiAoIWNvbW1vbkNsaWVudCkKICAgICAgICAgYnJpZGdlLT5kaWRG
YWlsT25NYWluVGhyZWFkKFdlYkZpbGVFcnJvckFib3J0LCBtb2RlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NC
cmlkZ2UuaAppbmRleCBjOWZjMDcwYTA4ZmUwNDY3YTI1NTA3Y2NiNTQwYTViODZiZDhhNTYwLi4y
ZTM3N2FjMGFjZmJmNzY5ODA0NjcyN2E1MDVkOGE3NTU5Y2Q2ZGQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNr
c0JyaWRnZS5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlRXJyb3IuaD4KICNpbmNsdWRlIDxwdWJs
aWMvV2ViRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5o
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJWZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC04NCw3ICs4NSwxMSBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgLy8gTWV0aG9kcyB0aGF0IGNyZWF0ZSBhbiBpbnN0YW5jZSBhbmQg
cG9zdCBhbiBpbml0aWFsIHJlcXVlc3QgdGFzayB0byB0aGUgbWFpbiB0aHJlYWQuIFRoZXkgbXVz
dCBiZSBjYWxsZWQgb24gdGhlIHdvcmtlciB0aHJlYWQuCisjaWZkZWYgVVNFX05FV19XRUJGSUxF
U1lTVEVNVFlQRQorICAgIHZvaWQgcG9zdE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFkKFdlYkNv
bW1vbldvcmtlckNsaWVudCosIFdlYkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9v
bCBjcmVhdGUsIGNvbnN0IFN0cmluZyYgbW9kZSk7CisjZWxzZQogICAgIHZvaWQgcG9zdE9wZW5G
aWxlU3lzdGVtVG9NYWluVGhyZWFkKFdlYkNvbW1vbldvcmtlckNsaWVudCosIFdlYkZpbGVTeXN0
ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgY29uc3QgU3RyaW5nJiBtb2Rl
KTsKKyNlbmRpZgogICAgIHZvaWQgcG9zdE1vdmVUb01haW5UaHJlYWQoV2ViRmlsZVN5c3RlbSos
IGNvbnN0IFdlYkNvcmU6OktVUkwmIHNyY1BhdGgsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGRlc3RQ
YXRoLCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgIHZvaWQgcG9zdENvcHlUb01haW5UaHJlYWQo
V2ViRmlsZVN5c3RlbSosIGNvbnN0IFdlYkNvcmU6OktVUkwmIHNyY1BhdGgsIGNvbnN0IFdlYkNv
cmU6OktVUkwmIGRlc3RQYXRoLCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgIHZvaWQgcG9zdFJl
bW92ZVRvTWFpblRocmVhZChXZWJGaWxlU3lzdGVtKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgcGF0
aCwgY29uc3QgU3RyaW5nJiBtb2RlKTsKQEAgLTEwOSw3ICsxMTQsMTEgQEAgcHJpdmF0ZToKICAg
ICBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlKFdlYkNvcmU6OldvcmtlckxvYWRlclBy
b3h5KiwgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3NJbXBsKik7CiAKICAgICAvLyBNZXRob2RzIHRoYXQgYXJlIHRvIGJlIGNhbGxlZCBvbiB0
aGUgbWFpbiB0aHJlYWQuCisjaWZkZWYgVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgIHN0
YXRpYyB2b2lkIG9wZW5GaWxlU3lzdGVtT25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBXZWJDb21tb25Xb3JrZXJDbGllbnQqLCBXZWJGaWxlU3lzdGVtVHlwZSwg
bG9uZyBsb25nIHNpemUsIGJvb2wgY3JlYXRlLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1D
YWxsYmFja3NCcmlkZ2U+LCBjb25zdCBTdHJpbmcmIG1vZGUpOworI2Vsc2UKICAgICBzdGF0aWMg
dm9pZCBvcGVuRmlsZVN5c3RlbU9uTWFpblRocmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgV2ViQ29tbW9uV29ya2VyQ2xpZW50KiwgV2ViRmlsZVN5c3RlbTo6VHlwZSwgbG9u
ZyBsb25nIHNpemUsIGJvb2wgY3JlYXRlLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2U+LCBjb25zdCBTdHJpbmcmIG1vZGUpOworI2VuZGlmCiAgICAgc3RhdGljIHZv
aWQgbW92ZU9uTWFpblRocmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2Vi
RmlsZVN5c3RlbSosIGNvbnN0IFdlYkNvcmU6OktVUkwmIHNyY1BhdGgsIGNvbnN0IFdlYkNvcmU6
OktVUkwmIGRlc3RQYXRoLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlk
Z2U+LCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgIHN0YXRpYyB2b2lkIGNvcHlPbk1haW5UaHJl
YWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkZpbGVTeXN0ZW0qLCBjb25z
dCBXZWJDb3JlOjpLVVJMJiBzcmNQYXRoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBkZXN0UGF0aCwg
UGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29uc3QgU3RyaW5n
JiBtb2RlKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVPbk1haW5UaHJlYWQoV2ViQ29yZTo6U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkZpbGVTeXN0ZW0qLCBjb25zdCBXZWJDb3JlOjpLVVJM
JiBwYXRoLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U+LCBjb25z
dCBTdHJpbmcmIG1vZGUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193607</attachid>
            <date>2013-03-18 11:01:11 -0700</date>
            <delta_ts>2013-03-18 12:22:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112571-20130318135646.patch</filename>
            <type>text/plain</type>
            <size>28215</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAzMWRiMDc0NDAwOTdh
ZDNhZDQ1MmEyYTQ3ZjM3NzRkOGVhZGExNmYxLi41YWRmNzQ0ZDA5MDE5OTM3NDk4YmYwYWJiNDQw
Y2IyNTBiODFlYzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wMy0xOCAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBDcmVhdGUgV2ViRmlsZVN5c3RlbVR5cGUgZW51bSB0byBhbGxvdyBlYXNpZXIgZmlsZXN5c3Rl
bSByZWZhY3RvcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEyNTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTmV3IHRvcC1sZXZlbCBlbnVtIChub3QgdGllZCB0byBXZWJGaWxlU3lzdGVtIGNsYXNz
KSB3aWxsIGFsbG93CisgICAgICAgIGVhc2llciByZWZhY3RvcmluZyBvZiBmaWxlc3lzdGVtIG1l
dGhvZHMgd2l0aGluIHRoZSBQbGF0Zm9ybS8KKyAgICAgICAgZGlyZWN0b3J5LiAoQWxsIGNoYW5n
ZXMgYXJlIGJlaGluZCBhbiAjaWZkZWYgc28gd2UgY2FuIHN5bmMKKyAgICAgICAgcmVxdWlyZWQg
Y2hhbmdlcyBpbiBlbWJlZGRlcnMuKQorCisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYkZp
bGVTeXN0ZW1UeXBlLmg6IG5ldyBmaWxlCisgICAgICAgIChXZWJLaXQpOgorCisgICAgICAgICog
UGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5o
OgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQu
aC4KKyAgICAgICAgKFdlYktpdCk6CisKIDIwMTMtMDMtMTcgIERhbmEgSmFuc2VucyAgPGRhbmFr
akBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgdGhlIHpvb20gZmls
dGVyIG9wZXJhdGlvbiBpZmRlZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4Y2FiZDBj
NGRhM2M5ZGVlNmM4NGNiNWU4MDYyYmQwMGUzZjczODQ1Li5kYjA2NWMyOWQzYWU3OTVjMzkyMzU3
ZTk2ZjA1NTZlNzE2NzcxYTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDEzLTAzLTE4ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbQ2hyb21pdW1dIENyZWF0ZSBXZWJGaWxlU3lzdGVtVHlwZSBlbnVtIHRvIGFs
bG93IGVhc2llciBmaWxlc3lzdGVtIHJlZmFjdG9yaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI1NzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZv
ciBuZXcgV2ViRmlsZVN5c3RlbVR5cGUgZW51bS4gKEFsbAorICAgICAgICBjaGFuZ2VzIGFyZSBi
ZWhpbmQgYW4gI2lmZGVmIHNvIHdlIGNhbiBzeW5jIHJlcXVpcmVkIGNoYW5nZXMgaW4gZW1iZWRk
ZXJzLikKKworICAgICAgICAqIHB1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaDoKKyAgICAg
ICAgKFdlYkNvbW1vbldvcmtlckNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbW1vbldv
cmtlckNsaWVudDo6b3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5o
OgorICAgICAgICAoV2ViRnJhbWUpOgorICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5o
OgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNs
aWVudDo6b3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6
ZGVsZXRlRmlsZVN5c3RlbSk6CisgICAgICAgICogc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6b3BlbkZpbGVTeXN0
ZW1IZWxwZXIpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxGaWxlU3lzdGVtOjpkZWxldGVGaWxl
U3lzdGVtKToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZVN5c3RlbSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3Rl
bSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZUVudHJ5KToKKyAg
ICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAgIChXZWJGcmFtZUltcGwpOgorICAg
ICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6Om9wZW5GaWxlU3lzdGVtKToKKyAg
ICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oOgorICAgICAgICAqIHNyYy9Xb3JrZXJG
aWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OnBvc3RPcGVuRmlsZVN5
c3RlbVRvTWFpblRocmVhZCk6CisgICAgICAgIChXZWJLaXQ6OldvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2U6Om9wZW5GaWxlU3lzdGVtT25NYWluVGhyZWFkKToKKyAgICAgICAgKiBzcmMv
V29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oOgorICAgICAgICAoV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZSk6CisKIDIwMTMtMDMtMTcgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgV2ViTm9kZTo6
aGFzRXZlbnRMaXN0ZW5lcnMgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZv
cm0uZ3lwaSBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCmluZGV4IDYwYWMxYjg3NWM0
YzY5ZWVhN2E2MjI2Yjc4YTc5NjIzNTdkNjdlMjguLmZlMjExYmQ2N2E1MjA0N2NmNDc4ODc1NDRj
NTY1YjljOTdlNDkyMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBp
CisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCkBAIC02MCw2ICs2MCw3IEBACiAg
ICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3MuaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW1FbnRyeS5oJywKKyAgICAgICAgICAgICdj
aHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCcsCiAgICAgICAgICAgICAnY2hyb21p
dW0vcHVibGljL1dlYkZpbGVVdGlsaXRpZXMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVi
bGljL1dlYkZpbHRlck9wZXJhdGlvbi5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMv
V2ViRmlsdGVyT3BlcmF0aW9ucy5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9XZWJGaWxlU3lzdGVtLmgKaW5kZXggZWMxZWQxZDE2MDUyMmE0NmE4YWRmZTFhOWFmNjk5
NTM4YjgzNzUzYS4uZTU5YjIzODhmY2FhMzA5MzQ5YmY1NDNjMDkyMTNkM2E2NDdiNDI3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgK
KysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgKQEAg
LTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgV2ViRmlsZVN5c3RlbV9oCiAKICNpbmNsdWRlICJXZWJD
b21tb24uaCIKKyNpbmNsdWRlICJXZWJGaWxlU3lzdGVtVHlwZS5oIgogI2luY2x1ZGUgIldlYlVS
TC5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODljMzlmNTU4ZWRj
ODE1NGZlZjZkNDM5NWQzYTRlNGVmZTZmZjEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1Bs
YXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oCkBAIC0wLDAgKzEsNTQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIFdlYkZpbGVTeXN0ZW1UeXBlX2gKKyNkZWZpbmUgV2ViRmlsZVN5c3RlbVR5cGVf
aAorCisvLyBUT0RPKHBpbGdyaW0pIFVuY29tbWVudCB0aGlzIG9uY2UgYWxsIGVtYmVkZGVycyBo
YXZlIGJlZW4gdXBkYXRlZCB0byB1c2UgdGhpcyBuZXcgZW51bQorLy8gI2RlZmluZSBXRUJLSVRf
VVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lmZGVm
IFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCitlbnVtIFdlYkZpbGVTeXN0ZW1UeXBl
IHsKKyAgICBXZWJGaWxlU3lzdGVtVHlwZVRlbXBvcmFyeSwKKyAgICBXZWJGaWxlU3lzdGVtVHlw
ZVBlcnNpc3RlbnQsCisKKyAgICAvLyBJbmRpY2F0ZXMgYW4gaXNvbGF0ZWQgZmlsZXN5c3RlbSB3
aGljaCBvbmx5IGV4cG9zZXMgYSBzZXQgb2YgZmlsZXMuCisgICAgV2ViRmlsZVN5c3RlbVR5cGVJ
c29sYXRlZCwKKworICAgIC8vIEluZGljYXRlcyBhIG5vbi1zYW5kYm94ZWQgZmlsZXN5c3RlbS4K
KyAgICBXZWJGaWxlU3lzdGVtVHlwZUV4dGVybmFsLAorfTsKKyNlbmRpZiAvLyBXRUJLSVRfVVNF
X05FV19XRUJGSUxFU1lTVEVNVFlQRQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3Jr
ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtl
ckNsaWVudC5oCmluZGV4IDcwNDhmZTkyZTMyY2M3N2E1OGQwZDkzMjM2MGFiZjJhNmYyNzE0NGMu
LmY5MjhlNjc4OWVkNjI3ZWNjZTYwOGM0MjNhMTE4MWYxNDRjZjMxMWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCkBA
IC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0v
cHVibGljL1dlYkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
QEAgLTU5LDcgKzYwLDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBDYWxsZWQgb24gdGhl
IG1haW4gd2Via2l0IHRocmVhZCBiZWZvcmUgb3BlbmluZyBhIGZpbGUgc3lzdGVtLgorI2lmZGVm
IFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgdmlydHVhbCB2b2lkIG9wZW5G
aWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUs
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKQorI2Vsc2UKICAgICB2aXJ0dWFsIHZvaWQgb3BlbkZp
bGVTeXN0ZW0oV2ViRmlsZVN5c3RlbTo6VHlwZSwgbG9uZyBsb25nIHNpemUsIGJvb2wgY3JlYXRl
LCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikKKyNlbmRpZgogICAgIHsKICAgICAgICAgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJGcmFtZS5oCmluZGV4IDcxOGU2ODRjNjc4ZmJlNTczNTRjZTk3ODJjYTYwZGM5M2Y3M2Q3
MjMuLmNhMGNlYjQyYzk5YTVkNGYzMmQ5Zjc3NWFlZmQ3MGI4Njk5NGVmZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5j
bHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNhbnZhcy5oIgogI2lu
Y2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgi
CisjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0
ZW1UeXBlLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJSZWZlcnJlclBvbGljeS5oIgogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9XZWJVUkwuaCIKQEAgLTI5MCwyMyArMjkxLDQxIEBAIHB1Ymxp
YzoKICAgICAvLyBiZSBjYWxsaW5nIHRoaXMgQVBJLgogICAgIHZpcnR1YWwgdjg6OkxvY2FsPHY4
OjpDb250ZXh0PiBtYWluV29ybGRTY3JpcHRDb250ZXh0KCkgY29uc3QgPSAwOwogCisjaWZkZWYg
V0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKKyAgICAvLyBDcmVhdGVzIGFuIGluc3Rh
bmNlIG9mIGZpbGUgc3lzdGVtIG9iamVjdC4KKyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlLAorICAgICAgICBjb25zdCBX
ZWJTdHJpbmcmIG5hbWUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcm9vdFVSTCkgPSAwOwor
ICAgIC8vIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2Ygc2VyaWFsaXphYmxlIGZpbGUgc3lzdGVtIG9i
amVjdC4KKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgQVBJIGFmdGVyIHdlIGhhdmUgYSBiZXR0
ZXIgd2F5IG9mIGNyZWF0aW5nIHNlcmlhbGl6ZWQKKyAgICAvLyBmaWxlIHN5c3RlbSBvYmplY3Qu
CisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlU2VyaWFsaXphYmxlRmls
ZVN5c3RlbShXZWJGaWxlU3lzdGVtVHlwZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1l
LAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHJvb3RVUkwpID0gMDsKKyAgICAvLyBDcmVhdGVz
IGFuIGluc3RhbmNlIG9mIGZpbGUgb3IgZGlyZWN0b3J5IGVudHJ5IG9iamVjdC4KKyAgICB2aXJ0
dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3RlbVR5
cGUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCisgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVJvb3RVUkwsCisgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgZmlsZVBhdGgsCisgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpID0gMDsKKyNlbHNlCiAgICAg
Ly8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBmaWxlIHN5c3RlbSBvYmplY3QuCiAgICAgdmlydHVh
bCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpU
eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiByb290VVJMKSA9IDA7CisgICAgICAg
IGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiByb290VVJM
KSA9IDA7CiAgICAgLy8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBzZXJpYWxpemFibGUgZmlsZSBz
eXN0ZW0gb2JqZWN0LgogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBBUEkgYWZ0ZXIgd2UgaGF2
ZSBhIGJldHRlciB3YXkgb2YgY3JlYXRpbmcgc2VyaWFsaXplZAogICAgIC8vIGZpbGUgc3lzdGVt
IG9iamVjdC4KICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVTZXJpYWxp
emFibGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJp
bmcmIG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHJvb3RVUkwpID0gMDsKKyAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBuYW1lLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHJvb3RVUkwp
ID0gMDsKICAgICAvLyBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGZpbGUgb3IgZGlyZWN0b3J5IGVu
dHJ5IG9iamVjdC4KICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxl
RW50cnkoV2ViRmlsZVN5c3RlbTo6VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2Vi
U3RyaW5nJiBmaWxlU3lzdGVtUm9vdFVSTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9y
eSkgPSAwOwotCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCisgICAg
ICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVJvb3RVUkwsCisgICAgICAgIGNvbnN0IFdl
YlN0cmluZyYgZmlsZVBhdGgsCisgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpID0gMDsKKyNlbmRp
ZiAvLyBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQogCiAgICAgLy8gTmF2aWdhdGlv
biAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5o
CmluZGV4IGUwZWViYmZjZjhjZGZiZDNkM2U4ZTczNTViNTBmMjkxZWVlNjNlNmEuLmNmYmUyN2Y3
Mzc4ZGYwNTA1OTFiZGY1NGRiZjllNzE0MDYzZGJhYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5j
bHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5oIgogI2lu
Y2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgi
CisjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0
ZW1UeXBlLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
YlVSTEVycm9yLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYlVSTFJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJET01NZXNzYWdlRXZlbnQuaCIKQEAgLTM1
OSw5ICszNjAsMTUgQEAgcHVibGljOgogICAgIC8vIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHku
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlCiAgICAgLy8gY2FsbGVk
IG90aGVyd2lzZS4gVGhlIGNyZWF0ZSBib29sIGlzIGZvciBpbmRpY2F0aW5nIHdoZXRoZXIgb3Ig
bm90IHRvCiAgICAgLy8gY3JlYXRlIHJvb3QgcGF0aCBmb3IgZmlsZSBzeXN0ZW1zIGlmIGl0IGRv
IG5vdCBleGlzdC4KKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAg
IHZpcnR1YWwgdm9pZCBvcGVuRmlsZVN5c3RlbSgKKyAgICAgICAgV2ViRnJhbWUqLCBXZWJGaWxl
U3lzdGVtVHlwZSwgbG9uZyBsb25nIHNpemUsCisgICAgICAgIGJvb2wgY3JlYXRlLCBXZWJGaWxl
U3lzdGVtQ2FsbGJhY2tzKikgeyB9CisjZWxzZQogICAgIHZpcnR1YWwgdm9pZCBvcGVuRmlsZVN5
c3RlbSgKICAgICAgICAgV2ViRnJhbWUqLCBXZWJGaWxlU3lzdGVtOjpUeXBlLCBsb25nIGxvbmcg
c2l6ZSwKICAgICAgICAgYm9vbCBjcmVhdGUsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IH0K
KyNlbmRpZgogCiAgICAgLy8gRGVsZXRlcyBGaWxlU3lzdGVtLgogICAgIC8vIFdlYkZpbGVTeXN0
ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRp
b24KQEAgLTM2OSw4ICszNzYsMTMgQEAgcHVibGljOgogICAgIC8vIGNhbGxlZCBvdGhlcndpc2Uu
CiAgICAgLy8gQWxsIGluLWZsaWdodCBvcGVyYXRpb25zIGFuZCBmb2xsb3dpbmcgb3BlcmF0aW9u
cyBtYXkgZmFpbCBhZnRlciB0aGUKICAgICAvLyBGaWxlU3lzdGVtIGlzIGRlbGV0ZWQuCisjaWZk
ZWYgV0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKKyAgICB2aXJ0dWFsIHZvaWQgZGVs
ZXRlRmlsZVN5c3RlbSgKKyAgICAgICAgV2ViRnJhbWUqLCBXZWJGaWxlU3lzdGVtVHlwZSwgV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgfQorI2Vsc2UKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRl
RmlsZVN5c3RlbSgKICAgICAgICAgV2ViRnJhbWUqLCBXZWJGaWxlU3lzdGVtOjpUeXBlLCBXZWJG
aWxlU3lzdGVtQ2FsbGJhY2tzKikgeyB9CisjZW5kaWYKIAogICAgIC8vIFF1b3RhIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1
bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1
bS5jcHAKaW5kZXggMDFiZjViZGI0NGMwZDI2YTFhYzk0M2U4YTU4MjQ4ZDVkMzNlOGZkOC4uODc5
ZWNmMzhkZjE1ZGQ3ZGJkNmZjNjhjOWNlMDk1N2RiOWM2ZWMyZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAt
NTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJGaWxlRXJyb3IuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgorI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRp
bmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtMTUzLDcgKzE1NCwx
MSBAQCBib29sIGFsbG93RmlsZVN5c3RlbUZvcldvcmtlcihXZWJDb21tb25Xb3JrZXJDbGllbnQq
IGNvbW1vbkNsaWVudCkKICAgICByZXR1cm4gYnJpZGdlLT5yZXN1bHQoKTsKIH0KIAorI2lmZGVm
IFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCit2b2lkIG9wZW5GaWxlU3lzdGVtRm9y
V29ya2VyKFdlYkNvbW1vbldvcmtlckNsaWVudCogY29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVt
VHlwZSB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3NJbXBsKiBjYWxsYmFja3MsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25v
dXNUeXBlKQorI2Vsc2UKIHZvaWQgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29y
a2VyQ2xpZW50KiBjb21tb25DbGllbnQsIFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgbG9uZyBs
b25nIHNpemUsIGJvb2wgY3JlYXRlLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbCogY2FsbGJh
Y2tzLCBGaWxlU3lzdGVtU3luY2hyb25vdXNUeXBlIHN5bmNocm9ub3VzVHlwZSkKKyNlbmRpZgog
ewogICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBXb3JrZXJTY3JpcHRD
b250cm9sbGVyOjpjb250cm9sbGVyRm9yQ29udGV4dCgpOwogICAgIFdvcmtlckNvbnRleHQqIHdv
cmtlckNvbnRleHQgPSBjb250cm9sbGVyLT53b3JrZXJDb250ZXh0KCk7CkBAIC0xOTksNyArMjA0
LDExIEBAIHN0YXRpYyB2b2lkIG9wZW5GaWxlU3lzdGVtSGVscGVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIEZpbGVTeXN0ZW1UeXBlCiAgICAgICAgIGlmICh3ZWJWaWV3LT5wZXJt
aXNzaW9uQ2xpZW50KCkgJiYgIXdlYlZpZXctPnBlcm1pc3Npb25DbGllbnQoKS0+YWxsb3dGaWxl
U3lzdGVtKHdlYkZyYW1lKSkKICAgICAgICAgICAgIGFsbG93ZWQgPSBmYWxzZTsKICAgICAgICAg
ZWxzZQorI2lmZGVmIFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgICAgICAg
ICB3ZWJGcmFtZS0+Y2xpZW50KCktPm9wZW5GaWxlU3lzdGVtKHdlYkZyYW1lLCBzdGF0aWNfY2Fz
dDxXZWJGaWxlU3lzdGVtVHlwZT4odHlwZSksIHNpemUsIGNyZWF0ZSA9PSBDcmVhdGVJZk5vdFBy
ZXNlbnQsIG5ldyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbChjYWxsYmFja3MpKTsKKyNlbHNl
CiAgICAgICAgICAgICB3ZWJGcmFtZS0+Y2xpZW50KCktPm9wZW5GaWxlU3lzdGVtKHdlYkZyYW1l
LCBzdGF0aWNfY2FzdDxXZWJGaWxlU3lzdGVtOjpUeXBlPih0eXBlKSwgc2l6ZSwgY3JlYXRlID09
IENyZWF0ZUlmTm90UHJlc2VudCwgbmV3IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsKGNhbGxi
YWNrcykpOworI2VuZGlmCiAgICAgfSBlbHNlIHsKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICAg
ICAgV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCA9IHN0YXRpY19jYXN0PFdvcmtlckNvbnRl
eHQqPihjb250ZXh0KTsKQEAgLTIwNyw4ICsyMTYsMTEgQEAgc3RhdGljIHZvaWQgb3BlbkZpbGVT
eXN0ZW1IZWxwZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRmlsZVN5c3RlbVR5
cGUKICAgICAgICAgaWYgKCFhbGxvd0ZpbGVTeXN0ZW1Gb3JXb3JrZXIod2ViV29ya2VyLT5jb21t
b25DbGllbnQoKSkpCiAgICAgICAgICAgICBhbGxvd2VkID0gZmFsc2U7CiAgICAgICAgIGVsc2UK
KyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgICAgICAgICAgb3Bl
bkZpbGVTeXN0ZW1Gb3JXb3JrZXIod2ViV29ya2VyLT5jb21tb25DbGllbnQoKSwgc3RhdGljX2Nh
c3Q8V2ViRmlsZVN5c3RlbVR5cGU+KHR5cGUpLCBzaXplLCBjcmVhdGUgPT0gQ3JlYXRlSWZOb3RQ
cmVzZW50LCBuZXcgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzLCBjb250ZXh0
LCBzeW5jaHJvbm91c1R5cGUpLCBzeW5jaHJvbm91c1R5cGUpOworI2Vsc2UKICAgICAgICAgICAg
IG9wZW5GaWxlU3lzdGVtRm9yV29ya2VyKHdlYldvcmtlci0+Y29tbW9uQ2xpZW50KCksIHN0YXRp
Y19jYXN0PFdlYkZpbGVTeXN0ZW06OlR5cGU+KHR5cGUpLCBzaXplLCBjcmVhdGUgPT0gQ3JlYXRl
SWZOb3RQcmVzZW50LCBuZXcgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzLCBj
b250ZXh0LCBzeW5jaHJvbm91c1R5cGUpLCBzeW5jaHJvbm91c1R5cGUpOwotCisjZW5kaWYKICNl
bHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2VuZGlmCkBAIC0yNDMsNyArMjU1
LDExIEBAIHZvaWQgTG9jYWxGaWxlU3lzdGVtOjpkZWxldGVGaWxlU3lzdGVtKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIEZpbGVTeXN0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgIHdlYkZyYW1lLT5j
bGllbnQoKS0+ZGVsZXRlRmlsZVN5c3RlbSh3ZWJGcmFtZSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5
c3RlbVR5cGU+KHR5cGUpLCBuZXcgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoY2FsbGJhY2tz
KSk7CisjZWxzZQogICAgIHdlYkZyYW1lLT5jbGllbnQoKS0+ZGVsZXRlRmlsZVN5c3RlbSh3ZWJG
cmFtZSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIG5ldyBXZWJGaWxl
U3lzdGVtQ2FsbGJhY2tzSW1wbChjYWxsYmFja3MpKTsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNw
cAppbmRleCBmZTI4NmI5MmEyNThkZTQ2YTI2ZGE3YzQ5ODJkZWJjN2EwZDc4Y2RjLi4yZDRmZDFj
MzhjZmQwYzg5YzVhOGUwMTY3MzQ4MDVhYzk2YTA5Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTE4MSw2ICsxODEsNyBAQAogI2luY2x1ZGUg
PGFsZ29yaXRobT4KICNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDxwdWJs
aWMvV2ViRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5o
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9hdFBvaW50Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dl
YkZsb2F0UmVjdC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJQb2ludC5oPgpAQCAtOTAxLDEzICs5
MDIsMjEgQEAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBXZWJGcmFtZUltcGw6Om1haW5Xb3JsZFNj
cmlwdENvbnRleHQoKSBjb25zdAogICAgIHJldHVybiBTY3JpcHRDb250cm9sbGVyOjptYWluV29y
bGRDb250ZXh0KGZyYW1lKCkpOwogfQogCisjaWZkZWYgV0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZ
U1RFTVRZUEUKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVT
eXN0ZW0oV2ViRmlsZVN5c3RlbVR5cGUgdHlwZSwgY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25z
dCBXZWJTdHJpbmcmIHBhdGgpCisjZWxzZQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1l
SW1wbDo6Y3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBwYXRoKQorI2VuZGlmCiB7CiAgICAgQVNT
RVJUKGZyYW1lKCkpOwogICAgIHJldHVybiB0b1Y4KERPTUZpbGVTeXN0ZW06OmNyZWF0ZShmcmFt
ZSgpLT5kb2N1bWVudCgpLCBuYW1lLCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpGaWxlU3lzdGVtVHlw
ZT4odHlwZSksIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCBwYXRoLnV0ZjgoKS5kYXRhKCkpLCBBc3lu
Y0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlKCkpLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCks
IGZyYW1lKCktPnNjcmlwdCgpLT5jdXJyZW50V29ybGRDb250ZXh0KCktPkdldElzb2xhdGUoKSk7
CiB9CiAKKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQordjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3RlbShX
ZWJGaWxlU3lzdGVtVHlwZSB0eXBlLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlN0
cmluZyYgcGF0aCkKKyNlbHNlCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gV2ViRnJhbWVJbXBsOjpj
cmVhdGVTZXJpYWxpemFibGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgY29u
c3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcmIHBhdGgpCisjZW5kaWYKIHsKICAg
ICBBU1NFUlQoZnJhbWUoKSk7CiAgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0g
PSBET01GaWxlU3lzdGVtOjpjcmVhdGUoZnJhbWUoKS0+ZG9jdW1lbnQoKSwgbmFtZSwgc3RhdGlj
X2Nhc3Q8V2ViQ29yZTo6RmlsZVN5c3RlbVR5cGU+KHR5cGUpLCBLVVJMKFBhcnNlZFVSTFN0cmlu
ZywgcGF0aC51dGY4KCkuZGF0YSgpKSwgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OmNyZWF0ZSgp
KTsKQEAgLTkxNSw3ICs5MjQsMTEgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1w
bDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjoKICAgICByZXR1
cm4gdG9WOChmaWxlU3lzdGVtLnJlbGVhc2UoKSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PigpLCBm
cmFtZSgpLT5zY3JpcHQoKS0+Y3VycmVudFdvcmxkQ29udGV4dCgpLT5HZXRJc29sYXRlKCkpOwog
fQogCisjaWZkZWYgV0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKK3Y4OjpIYW5kbGU8
djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeShXZWJGaWxlU3lzdGVtVHlw
ZSB0eXBlLCBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1OYW1lLCBjb25zdCBXZWJTdHJpbmcm
IGZpbGVTeXN0ZW1QYXRoLCBjb25zdCBXZWJTdHJpbmcmIGZpbGVQYXRoLCBib29sIGlzRGlyZWN0
b3J5KQorI2Vsc2UKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZp
bGVFbnRyeShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5
c3RlbU5hbWUsIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsIGNvbnN0IFdlYlN0cmlu
ZyYgZmlsZVBhdGgsIGJvb2wgaXNEaXJlY3RvcnkpCisjZW5kaWYKIHsKICAgICBBU1NFUlQoZnJh
bWUoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXgg
YzAwODIyNWQ3M2E0NTFmZjEzM2Q3ZmM2ODExY2NlZTAwYzQ4YmU1Yy4uN2MxYjQ4YmUyODU3M2Jl
MGFiNjUzYTEwNTg5ZGNiNTNhYzJkYzRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Db21waWxlci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMTI3LDE3ICsxMjgsMzEgQEAgcHVibGljOgogICAgICAg
ICBpbnQgYXJnYywKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSk7CiAgICAg
dmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlwdENvbnRleHQoKSBj
b25zdDsKKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgIHZpcnR1
YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbVR5
cGUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKKyAgICAgICAgY29uc3QgV2ViU3Ry
aW5nJiBwYXRoKTsKKyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVTZXJp
YWxpemFibGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlLAorICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIG5hbWUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcGF0aCk7CisgICAgdmlydHVh
bCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZUVudHJ5KFdlYkZpbGVTeXN0ZW1UeXBl
LAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1OYW1lLAorICAgICAgICBjb25z
dCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1QYXRoLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZp
bGVQYXRoLAorICAgICAgICBib29sIGlzRGlyZWN0b3J5KTsKKyNlbHNlCiAgICAgdmlydHVhbCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgV2ViU3RyaW5nJiBuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBwYXRoKTsKKyAgICAgICAgY29uc3QgV2Vi
U3RyaW5nJiBuYW1lLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpOwogICAgIHZpcnR1
YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZVNlcmlhbGl6YWJsZUZpbGVTeXN0ZW0oV2Vi
RmlsZVN5c3RlbTo6VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgcGF0aCk7CisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKKyAg
ICAgICAgY29uc3QgV2ViU3RyaW5nJiBwYXRoKTsKICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3RlbTo6VHlwZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBm
aWxlU3lzdGVtTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtUGF0aCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxl
UGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vbCBpc0RpcmVjdG9yeSk7CisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5h
bWUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsCisgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgZmlsZVBhdGgsCisgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpOworI2Vu
ZGlmCiAgICAgdmlydHVhbCB2b2lkIHJlbG9hZChib29sIGlnbm9yZUNhY2hlKTsKICAgICB2aXJ0
dWFsIHZvaWQgcmVsb2FkV2l0aE92ZXJyaWRlVVJMKGNvbnN0IFdlYlVSTCYgb3ZlcnJpZGVVcmws
IGJvb2wgaWdub3JlQ2FjaGUpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVxdWVzdChjb25zdCBX
ZWJVUkxSZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJXb3JrZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldv
cmtlckNsaWVudEltcGwuY3BwCmluZGV4IDBiNDlmZmYxZGZhYjUzOTQzYWQ2Yjg0MTI4OTkzN2Rl
ZDBmOGU5MGUuLjRkYzVmNzcwN2FlODRhNWM4NTZhZGYyOTkxMjcwODhjMGIyMmFmZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3Bw
CkBAIC0xMjIsOCArMTIyLDEzIEBAIGJvb2wgV2ViV29ya2VyQ2xpZW50SW1wbDo6YWxsb3dGaWxl
U3lzdGVtKCkKICAgICByZXR1cm4gIXdlYlZpZXctPnBlcm1pc3Npb25DbGllbnQoKSB8fCB3ZWJW
aWV3LT5wZXJtaXNzaW9uQ2xpZW50KCktPmFsbG93RmlsZVN5c3RlbShtX3dlYkZyYW1lKTsKIH0K
IAorI2lmZGVmIFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCit2b2lkIFdlYldvcmtl
ckNsaWVudEltcGw6Om9wZW5GaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlIHR5cGUsIGxvbmcg
bG9uZyBzaXplLCBib29sIGNyZWF0ZSwKKyAgICBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKiBjYWxs
YmFja3MpCisjZWxzZQogdm9pZCBXZWJXb3JrZXJDbGllbnRJbXBsOjpvcGVuRmlsZVN5c3RlbShX
ZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRmlsZVN5c3RlbUNhbGxi
YWNrcyogY2FsbGJhY2tzKQorICAgIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqIGNhbGxiYWNrcykK
KyNlbmRpZgogewogICAgIGlmIChhc2tlZFRvVGVybWluYXRlKCkpIHsKICAgICAgICAgY2FsbGJh
Y2tzLT5kaWRGYWlsKFdlYkZpbGVFcnJvckFib3J0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAppbmRleCBmYzQwNjQzNjRhMWUzOTIwOGQ1
Y2M1MDc0ZDJhZWQyNmRiM2VhM2MxLi42N2QzNGFlOTE3ZDczNWEyYmM5M2EwMGM3MTZmZjE2Yjc2
NmEyOWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJD
bGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xp
ZW50SW1wbC5oCkBAIC00MSw2ICs0MSw3IEBACiAKICNpbmNsdWRlICJXZWJXb3JrZXJCYXNlLmgi
CiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2Vi
RmlsZVN5c3RlbVR5cGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC04Myw4ICs4NCwxMyBA
QCBwdWJsaWM6CiAgICAgLy8gV2ViQ29tbW9uV29ya2VyQ2xpZW50IG1ldGhvZHM6CiAgICAgdmly
dHVhbCBib29sIGFsbG93RGF0YWJhc2UoV2ViRnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUs
IGNvbnN0IFdlYlN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6
ZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGFsbG93RmlsZVN5c3RlbSgpOworI2lmZGVm
IFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgdmlydHVhbCB2b2lkIG9wZW5G
aWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUs
CisgICAgICAgIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSBPVkVSUklERTsKKyNlbHNlCiAgICAg
dmlydHVhbCB2b2lkIG9wZW5GaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9u
ZyBzaXplLCBib29sIGNyZWF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrcyopIE9WRVJSSURFOworICAgICAgICBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzKikgT1ZFUlJJREU7CisjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dJbmRleGVk
REIoY29uc3QgV2ViU3RyaW5nJiBuYW1lKSBPVkVSUklERTsKIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NC
cmlkZ2UuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNh
bGxiYWNrc0JyaWRnZS5jcHAKaW5kZXggMzgwYjlkZDEzMjZlNjkzZTBmN2YzYzA5OGIzMzQ5Nzkz
YTgyZWU5MC4uMGViM2Y3MmU2OTQzODQ1NDdiZDJiNjQ1MzI5ZWJjMmY4YWY1OGVlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNr
c0JyaWRnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZS5jcHAKQEAgLTIwNiw3ICsyMDYsMTEgQEAgdm9pZCBXb3JrZXJG
aWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpjbGVhblVwQWZ0ZXJDYWxsYmFjaygpCiAgICAgfQog
fQogCisjaWZkZWYgV0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKK3ZvaWQgV29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6cG9zdE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFk
KFdlYkNvbW1vbldvcmtlckNsaWVudCogY29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVtVHlwZSB0
eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0IFN0cmluZyYgbW9kZSkKKyNl
bHNlCiB2b2lkIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OnBvc3RPcGVuRmlsZVN5
c3RlbVRvTWFpblRocmVhZChXZWJDb21tb25Xb3JrZXJDbGllbnQqIGNvbW1vbkNsaWVudCwgV2Vi
RmlsZVN5c3RlbTo6VHlwZSB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0
IFN0cmluZyYgbW9kZSkKKyNlbmRpZgogewogICAgIGRpc3BhdGNoVGFza1RvTWFpblRocmVhZCgK
ICAgICAgICAgY3JlYXRlQ2FsbGJhY2tUYXNrKCZvcGVuRmlsZVN5c3RlbU9uTWFpblRocmVhZCwK
QEAgLTMxMCw3ICszMTQsMTEgQEAgdm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdl
Ojpwb3N0Q3JlYXRlU25hcHNob3RGaWxlVG9NYWluVGhyZWFkKFdlYkZpbGUKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhdGgsIHRoaXMsIG1vZGUpKTsKIH0KIAorI2lmZGVmIFdFQktJVF9V
U0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCit2b2lkIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NC
cmlkZ2U6Om9wZW5GaWxlU3lzdGVtT25NYWluVGhyZWFkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBXZWJDb21tb25Xb3JrZXJDbGllbnQqIGNvbW1vbkNsaWVudCwgV2ViRmlsZVN5c3RlbVR5cGUg
dHlwZSwgbG9uZyBsb25nIHNpemUsIGJvb2wgY3JlYXRlLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVT
eXN0ZW1DYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSwgY29uc3QgU3RyaW5nJiBtb2RlKQorI2Vsc2UK
IHZvaWQgV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6b3BlbkZpbGVTeXN0ZW1Pbk1h
aW5UaHJlYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkNvbW1vbldvcmtlckNsaWVudCog
Y29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBi
b29sIGNyZWF0ZSwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiBi
cmlkZ2UsIGNvbnN0IFN0cmluZyYgbW9kZSkKKyNlbmRpZgogewogICAgIGlmICghY29tbW9uQ2xp
ZW50KQogICAgICAgICBicmlkZ2UtPmRpZEZhaWxPbk1haW5UaHJlYWQoV2ViRmlsZUVycm9yQWJv
cnQsIG1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oCmluZGV4IGM5ZmMwNzBhMDhmZTA0Njdh
MjU1MDdjY2I1NDBhNWI4NmJkOGE1NjAuLjdmZWY3YjkwZDhlNmU2MmNlYTg0ZDRkYzkxYTYwN2U3
NDE5NTExNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZp
bGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkZp
bGVFcnJvci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CisjaW5jbHVkZSA8
cHVibGljL1dlYkZpbGVTeXN0ZW1UeXBlLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlZlY3Rvci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KQEAgLTg0LDcgKzg1LDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBNZXRob2RzIHRo
YXQgY3JlYXRlIGFuIGluc3RhbmNlIGFuZCBwb3N0IGFuIGluaXRpYWwgcmVxdWVzdCB0YXNrIHRv
IHRoZSBtYWluIHRocmVhZC4gVGhleSBtdXN0IGJlIGNhbGxlZCBvbiB0aGUgd29ya2VyIHRocmVh
ZC4KKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgIHZvaWQgcG9z
dE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFkKFdlYkNvbW1vbldvcmtlckNsaWVudCosIFdlYkZp
bGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0IFN0cmluZyYg
bW9kZSk7CisjZWxzZQogICAgIHZvaWQgcG9zdE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFkKFdl
YkNvbW1vbldvcmtlckNsaWVudCosIFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXpl
LCBib29sIGNyZWF0ZSwgY29uc3QgU3RyaW5nJiBtb2RlKTsKKyNlbmRpZgogICAgIHZvaWQgcG9z
dE1vdmVUb01haW5UaHJlYWQoV2ViRmlsZVN5c3RlbSosIGNvbnN0IFdlYkNvcmU6OktVUkwmIHNy
Y1BhdGgsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGRlc3RQYXRoLCBjb25zdCBTdHJpbmcmIG1vZGUp
OwogICAgIHZvaWQgcG9zdENvcHlUb01haW5UaHJlYWQoV2ViRmlsZVN5c3RlbSosIGNvbnN0IFdl
YkNvcmU6OktVUkwmIHNyY1BhdGgsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGRlc3RQYXRoLCBjb25z
dCBTdHJpbmcmIG1vZGUpOwogICAgIHZvaWQgcG9zdFJlbW92ZVRvTWFpblRocmVhZChXZWJGaWxl
U3lzdGVtKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgcGF0aCwgY29uc3QgU3RyaW5nJiBtb2RlKTsK
QEAgLTEwOSw3ICsxMTQsMTEgQEAgcHJpdmF0ZToKICAgICBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJh
Y2tzQnJpZGdlKFdlYkNvcmU6OldvcmtlckxvYWRlclByb3h5KiwgV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsKik7CiAKICAgICAvLyBN
ZXRob2RzIHRoYXQgYXJlIHRvIGJlIGNhbGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCisjaWZkZWYg
V0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKKyAgICBzdGF0aWMgdm9pZCBvcGVuRmls
ZVN5c3RlbU9uTWFpblRocmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2Vi
Q29tbW9uV29ya2VyQ2xpZW50KiwgV2ViRmlsZVN5c3RlbVR5cGUsIGxvbmcgbG9uZyBzaXplLCBi
b29sIGNyZWF0ZSwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwg
Y29uc3QgU3RyaW5nJiBtb2RlKTsKKyNlbHNlCiAgICAgc3RhdGljIHZvaWQgb3BlbkZpbGVTeXN0
ZW1Pbk1haW5UaHJlYWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkNvbW1v
bldvcmtlckNsaWVudCosIFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29s
IGNyZWF0ZSwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29u
c3QgU3RyaW5nJiBtb2RlKTsKKyNlbmRpZgogICAgIHN0YXRpYyB2b2lkIG1vdmVPbk1haW5UaHJl
YWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkZpbGVTeXN0ZW0qLCBjb25z
dCBXZWJDb3JlOjpLVVJMJiBzcmNQYXRoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBkZXN0UGF0aCwg
UGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29uc3QgU3RyaW5n
JiBtb2RlKTsKICAgICBzdGF0aWMgdm9pZCBjb3B5T25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBXZWJGaWxlU3lzdGVtKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYg
c3JjUGF0aCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZGVzdFBhdGgsIFBhc3NSZWZQdHI8V29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZT4sIGNvbnN0IFN0cmluZyYgbW9kZSk7CiAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlT25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBXZWJGaWxlU3lzdGVtKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgcGF0aCwgUGFzc1JlZlB0
cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29uc3QgU3RyaW5nJiBtb2RlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193627</attachid>
            <date>2013-03-18 12:22:20 -0700</date>
            <delta_ts>2013-03-18 13:28:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112571-20130318151755.patch</filename>
            <type>text/plain</type>
            <size>32209</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAzMWRiMDc0NDAwOTdh
ZDNhZDQ1MmEyYTQ3ZjM3NzRkOGVhZGExNmYxLi41YWRmNzQ0ZDA5MDE5OTM3NDk4YmYwYWJiNDQw
Y2IyNTBiODFlYzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wMy0xOCAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVt
XSBDcmVhdGUgV2ViRmlsZVN5c3RlbVR5cGUgZW51bSB0byBhbGxvdyBlYXNpZXIgZmlsZXN5c3Rl
bSByZWZhY3RvcmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEyNTcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTmV3IHRvcC1sZXZlbCBlbnVtIChub3QgdGllZCB0byBXZWJGaWxlU3lzdGVtIGNsYXNz
KSB3aWxsIGFsbG93CisgICAgICAgIGVhc2llciByZWZhY3RvcmluZyBvZiBmaWxlc3lzdGVtIG1l
dGhvZHMgd2l0aGluIHRoZSBQbGF0Zm9ybS8KKyAgICAgICAgZGlyZWN0b3J5LiAoQWxsIGNoYW5n
ZXMgYXJlIGJlaGluZCBhbiAjaWZkZWYgc28gd2UgY2FuIHN5bmMKKyAgICAgICAgcmVxdWlyZWQg
Y2hhbmdlcyBpbiBlbWJlZGRlcnMuKQorCisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYkZp
bGVTeXN0ZW1UeXBlLmg6IG5ldyBmaWxlCisgICAgICAgIChXZWJLaXQpOgorCisgICAgICAgICog
UGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5o
OgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQu
aC4KKyAgICAgICAgKFdlYktpdCk6CisKIDIwMTMtMDMtMTcgIERhbmEgSmFuc2VucyAgPGRhbmFr
akBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgdGhlIHpvb20gZmls
dGVyIG9wZXJhdGlvbiBpZmRlZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA4Y2FiZDBj
NGRhM2M5ZGVlNmM4NGNiNWU4MDYyYmQwMGUzZjczODQ1Li5kYjA2NWMyOWQzYWU3OTVjMzkyMzU3
ZTk2ZjA1NTZlNzE2NzcxYTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQ0IEBACisyMDEzLTAzLTE4ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbQ2hyb21pdW1dIENyZWF0ZSBXZWJGaWxlU3lzdGVtVHlwZSBlbnVtIHRvIGFs
bG93IGVhc2llciBmaWxlc3lzdGVtIHJlZmFjdG9yaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI1NzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZv
ciBuZXcgV2ViRmlsZVN5c3RlbVR5cGUgZW51bS4gKEFsbAorICAgICAgICBjaGFuZ2VzIGFyZSBi
ZWhpbmQgYW4gI2lmZGVmIHNvIHdlIGNhbiBzeW5jIHJlcXVpcmVkIGNoYW5nZXMgaW4gZW1iZWRk
ZXJzLikKKworICAgICAgICAqIHB1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaDoKKyAgICAg
ICAgKFdlYkNvbW1vbldvcmtlckNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbW1vbldv
cmtlckNsaWVudDo6b3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5o
OgorICAgICAgICAoV2ViRnJhbWUpOgorICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5o
OgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNs
aWVudDo6b3BlbkZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6
ZGVsZXRlRmlsZVN5c3RlbSk6CisgICAgICAgICogc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6b3BlbkZpbGVTeXN0
ZW1IZWxwZXIpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxGaWxlU3lzdGVtOjpkZWxldGVGaWxl
U3lzdGVtKToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZVN5c3RlbSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3Rl
bSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZUVudHJ5KToKKyAg
ICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAgIChXZWJGcmFtZUltcGwpOgorICAg
ICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6Om9wZW5GaWxlU3lzdGVtKToKKyAg
ICAgICAgKiBzcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oOgorICAgICAgICAqIHNyYy9Xb3JrZXJG
aWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OnBvc3RPcGVuRmlsZVN5
c3RlbVRvTWFpblRocmVhZCk6CisgICAgICAgIChXZWJLaXQ6OldvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2U6Om9wZW5GaWxlU3lzdGVtT25NYWluVGhyZWFkKToKKyAgICAgICAgKiBzcmMv
V29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oOgorICAgICAgICAoV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZSk6CisKIDIwMTMtMDMtMTcgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgV2ViTm9kZTo6
aGFzRXZlbnRMaXN0ZW5lcnMgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZv
cm0uZ3lwaSBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCmluZGV4IDYwYWMxYjg3NWM0
YzY5ZWVhN2E2MjI2Yjc4YTc5NjIzNTdkNjdlMjguLmZlMjExYmQ2N2E1MjA0N2NmNDc4ODc1NDRj
NTY1YjljOTdlNDkyMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBp
CisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCkBAIC02MCw2ICs2MCw3IEBACiAg
ICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3MuaCcsCiAgICAgICAgICAg
ICAnY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW1FbnRyeS5oJywKKyAgICAgICAgICAgICdj
aHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCcsCiAgICAgICAgICAgICAnY2hyb21p
dW0vcHVibGljL1dlYkZpbGVVdGlsaXRpZXMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVi
bGljL1dlYkZpbHRlck9wZXJhdGlvbi5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMv
V2ViRmlsdGVyT3BlcmF0aW9ucy5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9XZWJGaWxlU3lzdGVtLmgKaW5kZXggZWMxZWQxZDE2MDUyMmE0NmE4YWRmZTFhOWFmNjk5
NTM4YjgzNzUzYS4uZTU5YjIzODhmY2FhMzA5MzQ5YmY1NDNjMDkyMTNkM2E2NDdiNDI3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgK
KysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgKQEAg
LTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgV2ViRmlsZVN5c3RlbV9oCiAKICNpbmNsdWRlICJXZWJD
b21tb24uaCIKKyNpbmNsdWRlICJXZWJGaWxlU3lzdGVtVHlwZS5oIgogI2luY2x1ZGUgIldlYlVS
TC5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODljMzlmNTU4ZWRj
ODE1NGZlZjZkNDM5NWQzYTRlNGVmZTZmZjEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1Bs
YXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oCkBAIC0wLDAgKzEsNTQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIFdlYkZpbGVTeXN0ZW1UeXBlX2gKKyNkZWZpbmUgV2ViRmlsZVN5c3RlbVR5cGVf
aAorCisvLyBUT0RPKHBpbGdyaW0pIFVuY29tbWVudCB0aGlzIG9uY2UgYWxsIGVtYmVkZGVycyBo
YXZlIGJlZW4gdXBkYXRlZCB0byB1c2UgdGhpcyBuZXcgZW51bQorLy8gI2RlZmluZSBXRUJLSVRf
VVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lmZGVm
IFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCitlbnVtIFdlYkZpbGVTeXN0ZW1UeXBl
IHsKKyAgICBXZWJGaWxlU3lzdGVtVHlwZVRlbXBvcmFyeSwKKyAgICBXZWJGaWxlU3lzdGVtVHlw
ZVBlcnNpc3RlbnQsCisKKyAgICAvLyBJbmRpY2F0ZXMgYW4gaXNvbGF0ZWQgZmlsZXN5c3RlbSB3
aGljaCBvbmx5IGV4cG9zZXMgYSBzZXQgb2YgZmlsZXMuCisgICAgV2ViRmlsZVN5c3RlbVR5cGVJ
c29sYXRlZCwKKworICAgIC8vIEluZGljYXRlcyBhIG5vbi1zYW5kYm94ZWQgZmlsZXN5c3RlbS4K
KyAgICBXZWJGaWxlU3lzdGVtVHlwZUV4dGVybmFsLAorfTsKKyNlbmRpZiAvLyBXRUJLSVRfVVNF
X05FV19XRUJGSUxFU1lTVEVNVFlQRQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3Jr
ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtl
ckNsaWVudC5oCmluZGV4IDcwNDhmZTkyZTMyY2M3N2E1OGQwZDkzMjM2MGFiZjJhNmYyNzE0NGMu
LmY5MjhlNjc4OWVkNjI3ZWNjZTYwOGM0MjNhMTE4MWYxNDRjZjMxMWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCkBA
IC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0v
cHVibGljL1dlYkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICIuLi8uLi8uLi9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
QEAgLTU5LDcgKzYwLDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBDYWxsZWQgb24gdGhl
IG1haW4gd2Via2l0IHRocmVhZCBiZWZvcmUgb3BlbmluZyBhIGZpbGUgc3lzdGVtLgorI2lmZGVm
IFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgdmlydHVhbCB2b2lkIG9wZW5G
aWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUs
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKQorI2Vsc2UKICAgICB2aXJ0dWFsIHZvaWQgb3BlbkZp
bGVTeXN0ZW0oV2ViRmlsZVN5c3RlbTo6VHlwZSwgbG9uZyBsb25nIHNpemUsIGJvb2wgY3JlYXRl
LCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikKKyNlbmRpZgogICAgIHsKICAgICAgICAgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJGcmFtZS5oCmluZGV4IDcxOGU2ODRjNjc4ZmJlNTczNTRjZTk3ODJjYTYwZGM5M2Y3M2Q3
MjMuLmNhMGNlYjQyYzk5YTVkNGYzMmQ5Zjc3NWFlZmQ3MGI4Njk5NGVmZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5j
bHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNhbnZhcy5oIgogI2lu
Y2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgi
CisjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0
ZW1UeXBlLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
Yk1lc3NhZ2VQb3J0Q2hhbm5lbC5oIgogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJSZWZlcnJlclBvbGljeS5oIgogI2luY2x1ZGUgIi4uLy4uLy4uL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9XZWJVUkwuaCIKQEAgLTI5MCwyMyArMjkxLDQxIEBAIHB1Ymxp
YzoKICAgICAvLyBiZSBjYWxsaW5nIHRoaXMgQVBJLgogICAgIHZpcnR1YWwgdjg6OkxvY2FsPHY4
OjpDb250ZXh0PiBtYWluV29ybGRTY3JpcHRDb250ZXh0KCkgY29uc3QgPSAwOwogCisjaWZkZWYg
V0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKKyAgICAvLyBDcmVhdGVzIGFuIGluc3Rh
bmNlIG9mIGZpbGUgc3lzdGVtIG9iamVjdC4KKyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlLAorICAgICAgICBjb25zdCBX
ZWJTdHJpbmcmIG5hbWUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcm9vdFVSTCkgPSAwOwor
ICAgIC8vIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2Ygc2VyaWFsaXphYmxlIGZpbGUgc3lzdGVtIG9i
amVjdC4KKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgQVBJIGFmdGVyIHdlIGhhdmUgYSBiZXR0
ZXIgd2F5IG9mIGNyZWF0aW5nIHNlcmlhbGl6ZWQKKyAgICAvLyBmaWxlIHN5c3RlbSBvYmplY3Qu
CisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlU2VyaWFsaXphYmxlRmls
ZVN5c3RlbShXZWJGaWxlU3lzdGVtVHlwZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1l
LAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHJvb3RVUkwpID0gMDsKKyAgICAvLyBDcmVhdGVz
IGFuIGluc3RhbmNlIG9mIGZpbGUgb3IgZGlyZWN0b3J5IGVudHJ5IG9iamVjdC4KKyAgICB2aXJ0
dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3RlbVR5
cGUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCisgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVJvb3RVUkwsCisgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgZmlsZVBhdGgsCisgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpID0gMDsKKyNlbHNlCiAgICAg
Ly8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBmaWxlIHN5c3RlbSBvYmplY3QuCiAgICAgdmlydHVh
bCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpU
eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiByb290VVJMKSA9IDA7CisgICAgICAg
IGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiByb290VVJM
KSA9IDA7CiAgICAgLy8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBzZXJpYWxpemFibGUgZmlsZSBz
eXN0ZW0gb2JqZWN0LgogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBBUEkgYWZ0ZXIgd2UgaGF2
ZSBhIGJldHRlciB3YXkgb2YgY3JlYXRpbmcgc2VyaWFsaXplZAogICAgIC8vIGZpbGUgc3lzdGVt
IG9iamVjdC4KICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVTZXJpYWxp
emFibGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJp
bmcmIG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHJvb3RVUkwpID0gMDsKKyAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBuYW1lLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHJvb3RVUkwp
ID0gMDsKICAgICAvLyBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGZpbGUgb3IgZGlyZWN0b3J5IGVu
dHJ5IG9iamVjdC4KICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxl
RW50cnkoV2ViRmlsZVN5c3RlbTo6VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2Vi
U3RyaW5nJiBmaWxlU3lzdGVtUm9vdFVSTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9y
eSkgPSAwOwotCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCisgICAg
ICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVJvb3RVUkwsCisgICAgICAgIGNvbnN0IFdl
YlN0cmluZyYgZmlsZVBhdGgsCisgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpID0gMDsKKyNlbmRp
ZiAvLyBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQogCiAgICAgLy8gTmF2aWdhdGlv
biAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5o
CmluZGV4IGUwZWViYmZjZjhjZGZiZDNkM2U4ZTczNTViNTBmMjkxZWVlNjNlNmEuLmNmYmUyN2Y3
Mzc4ZGYwNTA1OTFiZGY1NGRiZjllNzE0MDYzZGJhYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5j
bHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbi5oIgogI2lu
Y2x1ZGUgIi4uLy4uLy4uL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgi
CisjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0
ZW1UeXBlLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
YlVSTEVycm9yLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGlj
L1dlYlVSTFJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJET01NZXNzYWdlRXZlbnQuaCIKQEAgLTM1
OSw5ICszNjAsMTUgQEAgcHVibGljOgogICAgIC8vIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHku
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlCiAgICAgLy8gY2FsbGVk
IG90aGVyd2lzZS4gVGhlIGNyZWF0ZSBib29sIGlzIGZvciBpbmRpY2F0aW5nIHdoZXRoZXIgb3Ig
bm90IHRvCiAgICAgLy8gY3JlYXRlIHJvb3QgcGF0aCBmb3IgZmlsZSBzeXN0ZW1zIGlmIGl0IGRv
IG5vdCBleGlzdC4KKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAg
IHZpcnR1YWwgdm9pZCBvcGVuRmlsZVN5c3RlbSgKKyAgICAgICAgV2ViRnJhbWUqLCBXZWJGaWxl
U3lzdGVtVHlwZSwgbG9uZyBsb25nIHNpemUsCisgICAgICAgIGJvb2wgY3JlYXRlLCBXZWJGaWxl
U3lzdGVtQ2FsbGJhY2tzKikgeyB9CisjZWxzZQogICAgIHZpcnR1YWwgdm9pZCBvcGVuRmlsZVN5
c3RlbSgKICAgICAgICAgV2ViRnJhbWUqLCBXZWJGaWxlU3lzdGVtOjpUeXBlLCBsb25nIGxvbmcg
c2l6ZSwKICAgICAgICAgYm9vbCBjcmVhdGUsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IH0K
KyNlbmRpZgogCiAgICAgLy8gRGVsZXRlcyBGaWxlU3lzdGVtLgogICAgIC8vIFdlYkZpbGVTeXN0
ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRp
b24KQEAgLTM2OSw4ICszNzYsMTMgQEAgcHVibGljOgogICAgIC8vIGNhbGxlZCBvdGhlcndpc2Uu
CiAgICAgLy8gQWxsIGluLWZsaWdodCBvcGVyYXRpb25zIGFuZCBmb2xsb3dpbmcgb3BlcmF0aW9u
cyBtYXkgZmFpbCBhZnRlciB0aGUKICAgICAvLyBGaWxlU3lzdGVtIGlzIGRlbGV0ZWQuCisjaWZk
ZWYgV0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKKyAgICB2aXJ0dWFsIHZvaWQgZGVs
ZXRlRmlsZVN5c3RlbSgKKyAgICAgICAgV2ViRnJhbWUqLCBXZWJGaWxlU3lzdGVtVHlwZSwgV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgfQorI2Vsc2UKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRl
RmlsZVN5c3RlbSgKICAgICAgICAgV2ViRnJhbWUqLCBXZWJGaWxlU3lzdGVtOjpUeXBlLCBXZWJG
aWxlU3lzdGVtQ2FsbGJhY2tzKikgeyB9CisjZW5kaWYKIAogICAgIC8vIFF1b3RhIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1
bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1
bS5jcHAKaW5kZXggMDFiZjViZGI0NGMwZDI2YTFhYzk0M2U4YTU4MjQ4ZDVkMzNlOGZkOC4uODc5
ZWNmMzhkZjE1ZGQ3ZGJkNmZjNjhjOWNlMDk1N2RiOWM2ZWMyZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcApAQCAt
NTAsNiArNTAsNyBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJGaWxlRXJyb3IuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgorI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRp
bmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtMTUzLDcgKzE1NCwx
MSBAQCBib29sIGFsbG93RmlsZVN5c3RlbUZvcldvcmtlcihXZWJDb21tb25Xb3JrZXJDbGllbnQq
IGNvbW1vbkNsaWVudCkKICAgICByZXR1cm4gYnJpZGdlLT5yZXN1bHQoKTsKIH0KIAorI2lmZGVm
IFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCit2b2lkIG9wZW5GaWxlU3lzdGVtRm9y
V29ya2VyKFdlYkNvbW1vbldvcmtlckNsaWVudCogY29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVt
VHlwZSB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3NJbXBsKiBjYWxsYmFja3MsIEZpbGVTeXN0ZW1TeW5jaHJvbm91c1R5cGUgc3luY2hyb25v
dXNUeXBlKQorI2Vsc2UKIHZvaWQgb3BlbkZpbGVTeXN0ZW1Gb3JXb3JrZXIoV2ViQ29tbW9uV29y
a2VyQ2xpZW50KiBjb21tb25DbGllbnQsIFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgbG9uZyBs
b25nIHNpemUsIGJvb2wgY3JlYXRlLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbCogY2FsbGJh
Y2tzLCBGaWxlU3lzdGVtU3luY2hyb25vdXNUeXBlIHN5bmNocm9ub3VzVHlwZSkKKyNlbmRpZgog
ewogICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBXb3JrZXJTY3JpcHRD
b250cm9sbGVyOjpjb250cm9sbGVyRm9yQ29udGV4dCgpOwogICAgIFdvcmtlckNvbnRleHQqIHdv
cmtlckNvbnRleHQgPSBjb250cm9sbGVyLT53b3JrZXJDb250ZXh0KCk7CkBAIC0xOTksNyArMjA0
LDExIEBAIHN0YXRpYyB2b2lkIG9wZW5GaWxlU3lzdGVtSGVscGVyKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIEZpbGVTeXN0ZW1UeXBlCiAgICAgICAgIGlmICh3ZWJWaWV3LT5wZXJt
aXNzaW9uQ2xpZW50KCkgJiYgIXdlYlZpZXctPnBlcm1pc3Npb25DbGllbnQoKS0+YWxsb3dGaWxl
U3lzdGVtKHdlYkZyYW1lKSkKICAgICAgICAgICAgIGFsbG93ZWQgPSBmYWxzZTsKICAgICAgICAg
ZWxzZQorI2lmZGVmIFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgICAgICAg
ICB3ZWJGcmFtZS0+Y2xpZW50KCktPm9wZW5GaWxlU3lzdGVtKHdlYkZyYW1lLCBzdGF0aWNfY2Fz
dDxXZWJGaWxlU3lzdGVtVHlwZT4odHlwZSksIHNpemUsIGNyZWF0ZSA9PSBDcmVhdGVJZk5vdFBy
ZXNlbnQsIG5ldyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbChjYWxsYmFja3MpKTsKKyNlbHNl
CiAgICAgICAgICAgICB3ZWJGcmFtZS0+Y2xpZW50KCktPm9wZW5GaWxlU3lzdGVtKHdlYkZyYW1l
LCBzdGF0aWNfY2FzdDxXZWJGaWxlU3lzdGVtOjpUeXBlPih0eXBlKSwgc2l6ZSwgY3JlYXRlID09
IENyZWF0ZUlmTm90UHJlc2VudCwgbmV3IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsKGNhbGxi
YWNrcykpOworI2VuZGlmCiAgICAgfSBlbHNlIHsKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICAg
ICAgV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCA9IHN0YXRpY19jYXN0PFdvcmtlckNvbnRl
eHQqPihjb250ZXh0KTsKQEAgLTIwNyw4ICsyMTYsMTEgQEAgc3RhdGljIHZvaWQgb3BlbkZpbGVT
eXN0ZW1IZWxwZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRmlsZVN5c3RlbVR5
cGUKICAgICAgICAgaWYgKCFhbGxvd0ZpbGVTeXN0ZW1Gb3JXb3JrZXIod2ViV29ya2VyLT5jb21t
b25DbGllbnQoKSkpCiAgICAgICAgICAgICBhbGxvd2VkID0gZmFsc2U7CiAgICAgICAgIGVsc2UK
KyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgICAgICAgICAgb3Bl
bkZpbGVTeXN0ZW1Gb3JXb3JrZXIod2ViV29ya2VyLT5jb21tb25DbGllbnQoKSwgc3RhdGljX2Nh
c3Q8V2ViRmlsZVN5c3RlbVR5cGU+KHR5cGUpLCBzaXplLCBjcmVhdGUgPT0gQ3JlYXRlSWZOb3RQ
cmVzZW50LCBuZXcgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzLCBjb250ZXh0
LCBzeW5jaHJvbm91c1R5cGUpLCBzeW5jaHJvbm91c1R5cGUpOworI2Vsc2UKICAgICAgICAgICAg
IG9wZW5GaWxlU3lzdGVtRm9yV29ya2VyKHdlYldvcmtlci0+Y29tbW9uQ2xpZW50KCksIHN0YXRp
Y19jYXN0PFdlYkZpbGVTeXN0ZW06OlR5cGU+KHR5cGUpLCBzaXplLCBjcmVhdGUgPT0gQ3JlYXRl
SWZOb3RQcmVzZW50LCBuZXcgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzLCBj
b250ZXh0LCBzeW5jaHJvbm91c1R5cGUpLCBzeW5jaHJvbm91c1R5cGUpOwotCisjZW5kaWYKICNl
bHNlCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2VuZGlmCkBAIC0yNDMsNyArMjU1
LDExIEBAIHZvaWQgTG9jYWxGaWxlU3lzdGVtOjpkZWxldGVGaWxlU3lzdGVtKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIEZpbGVTeXN0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgIHdlYkZyYW1lLT5j
bGllbnQoKS0+ZGVsZXRlRmlsZVN5c3RlbSh3ZWJGcmFtZSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5
c3RlbVR5cGU+KHR5cGUpLCBuZXcgV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwoY2FsbGJhY2tz
KSk7CisjZWxzZQogICAgIHdlYkZyYW1lLT5jbGllbnQoKS0+ZGVsZXRlRmlsZVN5c3RlbSh3ZWJG
cmFtZSwgc3RhdGljX2Nhc3Q8V2ViRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIG5ldyBXZWJGaWxl
U3lzdGVtQ2FsbGJhY2tzSW1wbChjYWxsYmFja3MpKTsKKyNlbmRpZgogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
cmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNw
cAppbmRleCBmZTI4NmI5MmEyNThkZTQ2YTI2ZGE3YzQ5ODJkZWJjN2EwZDc4Y2RjLi4yZDRmZDFj
MzhjZmQwYzg5YzVhOGUwMTY3MzQ4MDVhYzk2YTA5Mjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTE4MSw2ICsxODEsNyBAQAogI2luY2x1ZGUg
PGFsZ29yaXRobT4KICNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDxwdWJs
aWMvV2ViRmlsZVN5c3RlbS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5o
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGbG9hdFBvaW50Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dl
YkZsb2F0UmVjdC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJQb2ludC5oPgpAQCAtOTAxLDEzICs5
MDIsMjEgQEAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBXZWJGcmFtZUltcGw6Om1haW5Xb3JsZFNj
cmlwdENvbnRleHQoKSBjb25zdAogICAgIHJldHVybiBTY3JpcHRDb250cm9sbGVyOjptYWluV29y
bGRDb250ZXh0KGZyYW1lKCkpOwogfQogCisjaWZkZWYgV0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZ
U1RFTVRZUEUKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVT
eXN0ZW0oV2ViRmlsZVN5c3RlbVR5cGUgdHlwZSwgY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBjb25z
dCBXZWJTdHJpbmcmIHBhdGgpCisjZWxzZQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1l
SW1wbDo6Y3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGNvbnN0IFdl
YlN0cmluZyYgbmFtZSwgY29uc3QgV2ViU3RyaW5nJiBwYXRoKQorI2VuZGlmCiB7CiAgICAgQVNT
RVJUKGZyYW1lKCkpOwogICAgIHJldHVybiB0b1Y4KERPTUZpbGVTeXN0ZW06OmNyZWF0ZShmcmFt
ZSgpLT5kb2N1bWVudCgpLCBuYW1lLCBzdGF0aWNfY2FzdDxXZWJDb3JlOjpGaWxlU3lzdGVtVHlw
ZT4odHlwZSksIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCBwYXRoLnV0ZjgoKS5kYXRhKCkpLCBBc3lu
Y0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlKCkpLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCks
IGZyYW1lKCktPnNjcmlwdCgpLT5jdXJyZW50V29ybGRDb250ZXh0KCktPkdldElzb2xhdGUoKSk7
CiB9CiAKKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQordjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3RlbShX
ZWJGaWxlU3lzdGVtVHlwZSB0eXBlLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGNvbnN0IFdlYlN0
cmluZyYgcGF0aCkKKyNlbHNlCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gV2ViRnJhbWVJbXBsOjpj
cmVhdGVTZXJpYWxpemFibGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwgY29u
c3QgV2ViU3RyaW5nJiBuYW1lLCBjb25zdCBXZWJTdHJpbmcmIHBhdGgpCisjZW5kaWYKIHsKICAg
ICBBU1NFUlQoZnJhbWUoKSk7CiAgICAgUmVmUHRyPERPTUZpbGVTeXN0ZW0+IGZpbGVTeXN0ZW0g
PSBET01GaWxlU3lzdGVtOjpjcmVhdGUoZnJhbWUoKS0+ZG9jdW1lbnQoKSwgbmFtZSwgc3RhdGlj
X2Nhc3Q8V2ViQ29yZTo6RmlsZVN5c3RlbVR5cGU+KHR5cGUpLCBLVVJMKFBhcnNlZFVSTFN0cmlu
ZywgcGF0aC51dGY4KCkuZGF0YSgpKSwgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OmNyZWF0ZSgp
KTsKQEAgLTkxNSw3ICs5MjQsMTEgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1w
bDo6Y3JlYXRlU2VyaWFsaXphYmxlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjoKICAgICByZXR1
cm4gdG9WOChmaWxlU3lzdGVtLnJlbGVhc2UoKSwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PigpLCBm
cmFtZSgpLT5zY3JpcHQoKS0+Y3VycmVudFdvcmxkQ29udGV4dCgpLT5HZXRJc29sYXRlKCkpOwog
fQogCisjaWZkZWYgV0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKK3Y4OjpIYW5kbGU8
djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeShXZWJGaWxlU3lzdGVtVHlw
ZSB0eXBlLCBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1OYW1lLCBjb25zdCBXZWJTdHJpbmcm
IGZpbGVTeXN0ZW1QYXRoLCBjb25zdCBXZWJTdHJpbmcmIGZpbGVQYXRoLCBib29sIGlzRGlyZWN0
b3J5KQorI2Vsc2UKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZp
bGVFbnRyeShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5
c3RlbU5hbWUsIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsIGNvbnN0IFdlYlN0cmlu
ZyYgZmlsZVBhdGgsIGJvb2wgaXNEaXJlY3RvcnkpCisjZW5kaWYKIHsKICAgICBBU1NFUlQoZnJh
bWUoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXgg
YzAwODIyNWQ3M2E0NTFmZjEzM2Q3ZmM2ODExY2NlZTAwYzQ4YmU1Yy4uN2MxYjQ4YmUyODU3M2Jl
MGFiNjUzYTEwNTg5ZGNiNTNhYzJkYzRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtVHlwZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Db21waWxlci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMTI3LDE3ICsxMjgsMzEgQEAgcHVibGljOgogICAgICAg
ICBpbnQgYXJnYywKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSk7CiAgICAg
dmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZFNjcmlwdENvbnRleHQoKSBj
b25zdDsKKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgIHZpcnR1
YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbVR5
cGUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKKyAgICAgICAgY29uc3QgV2ViU3Ry
aW5nJiBwYXRoKTsKKyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVTZXJp
YWxpemFibGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlLAorICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIG5hbWUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcGF0aCk7CisgICAgdmlydHVh
bCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZUVudHJ5KFdlYkZpbGVTeXN0ZW1UeXBl
LAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1OYW1lLAorICAgICAgICBjb25z
dCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1QYXRoLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZp
bGVQYXRoLAorICAgICAgICBib29sIGlzRGlyZWN0b3J5KTsKKyNlbHNlCiAgICAgdmlydHVhbCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgV2ViU3RyaW5nJiBuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBwYXRoKTsKKyAgICAgICAgY29uc3QgV2Vi
U3RyaW5nJiBuYW1lLAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpOwogICAgIHZpcnR1
YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZVNlcmlhbGl6YWJsZUZpbGVTeXN0ZW0oV2Vi
RmlsZVN5c3RlbTo6VHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgcGF0aCk7CisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwKKyAg
ICAgICAgY29uc3QgV2ViU3RyaW5nJiBwYXRoKTsKICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3RlbTo6VHlwZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBm
aWxlU3lzdGVtTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtUGF0aCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxl
UGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vbCBpc0RpcmVjdG9yeSk7CisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5h
bWUsCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsCisgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgZmlsZVBhdGgsCisgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpOworI2Vu
ZGlmCiAgICAgdmlydHVhbCB2b2lkIHJlbG9hZChib29sIGlnbm9yZUNhY2hlKTsKICAgICB2aXJ0
dWFsIHZvaWQgcmVsb2FkV2l0aE92ZXJyaWRlVVJMKGNvbnN0IFdlYlVSTCYgb3ZlcnJpZGVVcmws
IGJvb2wgaWdub3JlQ2FjaGUpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVxdWVzdChjb25zdCBX
ZWJVUkxSZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJXb3JrZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldv
cmtlckNsaWVudEltcGwuY3BwCmluZGV4IDBiNDlmZmYxZGZhYjUzOTQzYWQ2Yjg0MTI4OTkzN2Rl
ZDBmOGU5MGUuLjRkYzVmNzcwN2FlODRhNWM4NTZhZGYyOTkxMjcwODhjMGIyMmFmZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuY3Bw
CkBAIC0xMjIsOCArMTIyLDEzIEBAIGJvb2wgV2ViV29ya2VyQ2xpZW50SW1wbDo6YWxsb3dGaWxl
U3lzdGVtKCkKICAgICByZXR1cm4gIXdlYlZpZXctPnBlcm1pc3Npb25DbGllbnQoKSB8fCB3ZWJW
aWV3LT5wZXJtaXNzaW9uQ2xpZW50KCktPmFsbG93RmlsZVN5c3RlbShtX3dlYkZyYW1lKTsKIH0K
IAorI2lmZGVmIFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCit2b2lkIFdlYldvcmtl
ckNsaWVudEltcGw6Om9wZW5GaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlIHR5cGUsIGxvbmcg
bG9uZyBzaXplLCBib29sIGNyZWF0ZSwKKyAgICBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKiBjYWxs
YmFja3MpCisjZWxzZQogdm9pZCBXZWJXb3JrZXJDbGllbnRJbXBsOjpvcGVuRmlsZVN5c3RlbShX
ZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2ViRmlsZVN5c3RlbUNhbGxi
YWNrcyogY2FsbGJhY2tzKQorICAgIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqIGNhbGxiYWNrcykK
KyNlbmRpZgogewogICAgIGlmIChhc2tlZFRvVGVybWluYXRlKCkpIHsKICAgICAgICAgY2FsbGJh
Y2tzLT5kaWRGYWlsKFdlYkZpbGVFcnJvckFib3J0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAppbmRleCBmYzQwNjQzNjRhMWUzOTIwOGQ1
Y2M1MDc0ZDJhZWQyNmRiM2VhM2MxLi42N2QzNGFlOTE3ZDczNWEyYmM5M2EwMGM3MTZmZjE2Yjc2
NmEyOWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJD
bGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xp
ZW50SW1wbC5oCkBAIC00MSw2ICs0MSw3IEBACiAKICNpbmNsdWRlICJXZWJXb3JrZXJCYXNlLmgi
CiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2Vi
RmlsZVN5c3RlbVR5cGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC04Myw4ICs4NCwxMyBA
QCBwdWJsaWM6CiAgICAgLy8gV2ViQ29tbW9uV29ya2VyQ2xpZW50IG1ldGhvZHM6CiAgICAgdmly
dHVhbCBib29sIGFsbG93RGF0YWJhc2UoV2ViRnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUs
IGNvbnN0IFdlYlN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6
ZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGFsbG93RmlsZVN5c3RlbSgpOworI2lmZGVm
IFdFQktJVF9VU0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCisgICAgdmlydHVhbCB2b2lkIG9wZW5G
aWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUs
CisgICAgICAgIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSBPVkVSUklERTsKKyNlbHNlCiAgICAg
dmlydHVhbCB2b2lkIG9wZW5GaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9u
ZyBzaXplLCBib29sIGNyZWF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrcyopIE9WRVJSSURFOworICAgICAgICBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzKikgT1ZFUlJJREU7CisjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dJbmRleGVk
REIoY29uc3QgV2ViU3RyaW5nJiBuYW1lKSBPVkVSUklERTsKIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NC
cmlkZ2UuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNh
bGxiYWNrc0JyaWRnZS5jcHAKaW5kZXggMzgwYjlkZDEzMjZlNjkzZTBmN2YzYzA5OGIzMzQ5Nzkz
YTgyZWU5MC4uMGViM2Y3MmU2OTQzODQ1NDdiZDJiNjQ1MzI5ZWJjMmY4YWY1OGVlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNr
c0JyaWRnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5
c3RlbUNhbGxiYWNrc0JyaWRnZS5jcHAKQEAgLTIwNiw3ICsyMDYsMTEgQEAgdm9pZCBXb3JrZXJG
aWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlOjpjbGVhblVwQWZ0ZXJDYWxsYmFjaygpCiAgICAgfQog
fQogCisjaWZkZWYgV0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKK3ZvaWQgV29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6cG9zdE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFk
KFdlYkNvbW1vbldvcmtlckNsaWVudCogY29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVtVHlwZSB0
eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0IFN0cmluZyYgbW9kZSkKKyNl
bHNlCiB2b2lkIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2U6OnBvc3RPcGVuRmlsZVN5
c3RlbVRvTWFpblRocmVhZChXZWJDb21tb25Xb3JrZXJDbGllbnQqIGNvbW1vbkNsaWVudCwgV2Vi
RmlsZVN5c3RlbTo6VHlwZSB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0
IFN0cmluZyYgbW9kZSkKKyNlbmRpZgogewogICAgIGRpc3BhdGNoVGFza1RvTWFpblRocmVhZCgK
ICAgICAgICAgY3JlYXRlQ2FsbGJhY2tUYXNrKCZvcGVuRmlsZVN5c3RlbU9uTWFpblRocmVhZCwK
QEAgLTMxMCw3ICszMTQsMTEgQEAgdm9pZCBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdl
Ojpwb3N0Q3JlYXRlU25hcHNob3RGaWxlVG9NYWluVGhyZWFkKFdlYkZpbGUKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhdGgsIHRoaXMsIG1vZGUpKTsKIH0KIAorI2lmZGVmIFdFQktJVF9V
U0VfTkVXX1dFQkZJTEVTWVNURU1UWVBFCit2b2lkIFdvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NC
cmlkZ2U6Om9wZW5GaWxlU3lzdGVtT25NYWluVGhyZWFkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBXZWJDb21tb25Xb3JrZXJDbGllbnQqIGNvbW1vbkNsaWVudCwgV2ViRmlsZVN5c3RlbVR5cGUg
dHlwZSwgbG9uZyBsb25nIHNpemUsIGJvb2wgY3JlYXRlLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVT
eXN0ZW1DYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSwgY29uc3QgU3RyaW5nJiBtb2RlKQorI2Vsc2UK
IHZvaWQgV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZTo6b3BlbkZpbGVTeXN0ZW1Pbk1h
aW5UaHJlYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkNvbW1vbldvcmtlckNsaWVudCog
Y29tbW9uQ2xpZW50LCBXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBi
b29sIGNyZWF0ZSwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiBi
cmlkZ2UsIGNvbnN0IFN0cmluZyYgbW9kZSkKKyNlbmRpZgogewogICAgIGlmICghY29tbW9uQ2xp
ZW50KQogICAgICAgICBicmlkZ2UtPmRpZEZhaWxPbk1haW5UaHJlYWQoV2ViRmlsZUVycm9yQWJv
cnQsIG1vZGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oCmluZGV4IGM5ZmMwNzBhMDhmZTA0Njdh
MjU1MDdjY2I1NDBhNWI4NmJkOGE1NjAuLjdmZWY3YjkwZDhlNmU2MmNlYTg0ZDRkYzkxYTYwN2U3
NDE5NTExNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZp
bGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkZp
bGVFcnJvci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CisjaW5jbHVkZSA8
cHVibGljL1dlYkZpbGVTeXN0ZW1UeXBlLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlZlY3Rvci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KQEAgLTg0LDcgKzg1LDExIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBNZXRob2RzIHRo
YXQgY3JlYXRlIGFuIGluc3RhbmNlIGFuZCBwb3N0IGFuIGluaXRpYWwgcmVxdWVzdCB0YXNrIHRv
IHRoZSBtYWluIHRocmVhZC4gVGhleSBtdXN0IGJlIGNhbGxlZCBvbiB0aGUgd29ya2VyIHRocmVh
ZC4KKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQorICAgIHZvaWQgcG9z
dE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFkKFdlYkNvbW1vbldvcmtlckNsaWVudCosIFdlYkZp
bGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9vbCBjcmVhdGUsIGNvbnN0IFN0cmluZyYg
bW9kZSk7CisjZWxzZQogICAgIHZvaWQgcG9zdE9wZW5GaWxlU3lzdGVtVG9NYWluVGhyZWFkKFdl
YkNvbW1vbldvcmtlckNsaWVudCosIFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXpl
LCBib29sIGNyZWF0ZSwgY29uc3QgU3RyaW5nJiBtb2RlKTsKKyNlbmRpZgogICAgIHZvaWQgcG9z
dE1vdmVUb01haW5UaHJlYWQoV2ViRmlsZVN5c3RlbSosIGNvbnN0IFdlYkNvcmU6OktVUkwmIHNy
Y1BhdGgsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGRlc3RQYXRoLCBjb25zdCBTdHJpbmcmIG1vZGUp
OwogICAgIHZvaWQgcG9zdENvcHlUb01haW5UaHJlYWQoV2ViRmlsZVN5c3RlbSosIGNvbnN0IFdl
YkNvcmU6OktVUkwmIHNyY1BhdGgsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGRlc3RQYXRoLCBjb25z
dCBTdHJpbmcmIG1vZGUpOwogICAgIHZvaWQgcG9zdFJlbW92ZVRvTWFpblRocmVhZChXZWJGaWxl
U3lzdGVtKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgcGF0aCwgY29uc3QgU3RyaW5nJiBtb2RlKTsK
QEAgLTEwOSw3ICsxMTQsMTEgQEAgcHJpdmF0ZToKICAgICBXb3JrZXJGaWxlU3lzdGVtQ2FsbGJh
Y2tzQnJpZGdlKFdlYkNvcmU6OldvcmtlckxvYWRlclByb3h5KiwgV2ViQ29yZTo6U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsKik7CiAKICAgICAvLyBN
ZXRob2RzIHRoYXQgYXJlIHRvIGJlIGNhbGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCisjaWZkZWYg
V0VCS0lUX1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKKyAgICBzdGF0aWMgdm9pZCBvcGVuRmls
ZVN5c3RlbU9uTWFpblRocmVhZChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2Vi
Q29tbW9uV29ya2VyQ2xpZW50KiwgV2ViRmlsZVN5c3RlbVR5cGUsIGxvbmcgbG9uZyBzaXplLCBi
b29sIGNyZWF0ZSwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwg
Y29uc3QgU3RyaW5nJiBtb2RlKTsKKyNlbHNlCiAgICAgc3RhdGljIHZvaWQgb3BlbkZpbGVTeXN0
ZW1Pbk1haW5UaHJlYWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkNvbW1v
bldvcmtlckNsaWVudCosIFdlYkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29s
IGNyZWF0ZSwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29u
c3QgU3RyaW5nJiBtb2RlKTsKKyNlbmRpZgogICAgIHN0YXRpYyB2b2lkIG1vdmVPbk1haW5UaHJl
YWQoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYkZpbGVTeXN0ZW0qLCBjb25z
dCBXZWJDb3JlOjpLVVJMJiBzcmNQYXRoLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBkZXN0UGF0aCwg
UGFzc1JlZlB0cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29uc3QgU3RyaW5n
JiBtb2RlKTsKICAgICBzdGF0aWMgdm9pZCBjb3B5T25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBXZWJGaWxlU3lzdGVtKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYg
c3JjUGF0aCwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZGVzdFBhdGgsIFBhc3NSZWZQdHI8V29ya2Vy
RmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZT4sIGNvbnN0IFN0cmluZyYgbW9kZSk7CiAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlT25NYWluVGhyZWFkKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBXZWJGaWxlU3lzdGVtKiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgcGF0aCwgUGFzc1JlZlB0
cjxXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlPiwgY29uc3QgU3RyaW5nJiBtb2RlKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhYWQ3
YzQ4YzlmMzNmNDM3YTY2YWZmMzZhNDA4NGQ3MmE5ZGFjMTMzLi5iZWYwZjZlMDcyMzc3ZjIzNzJm
YzdlYTllZDFlNDBlYTEzMmRiYTczIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDMtMTggIE1hcmsgUGlsZ3Jp
bSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gQ3JlYXRlIFdl
YkZpbGVTeXN0ZW1UeXBlIGVudW0gdG8gYWxsb3cgZWFzaWVyIGZpbGVzeXN0ZW0gcmVmYWN0b3Jp
bmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjU3
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgZm9yIG5ldyBXZWJGaWxlU3lzdGVtVHlwZSBlbnVtLiAo
QWxsCisgICAgICAgIGNoYW5nZXMgYXJlIGJlaGluZCBhbiAjaWZkZWYgc28gd2UgY2FuIHN5bmMg
cmVxdWlyZWQgY2hhbmdlcyBpbiBlbWJlZGRlcnMuKQorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6Om9wZW5G
aWxlU3lzdGVtKToKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpkZWxldGVGaWxlU3lzdGVtKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oOgorICAgICAgICAo
V2ViVmlld0hvc3QpOgorCiAyMDEzLTAzLTE3ICBNb3J0ZW4gU3RlbnNob3JuZSAgPG1zdGVuc2hv
QG9wZXJhLmNvbT4KIAogICAgICAgICBBZGQgcmVsb2FkIGJ1dHRvbiAoYW5kIEY1IGFjY2VsZXJh
dG9yKSB0byB0aGUgR3RrTGF1bmNoZXIgdG9vbGJhcgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IGI2MTVhYWY1OGQ3MzE3ZGM0YWZlNDQ2MDUz
M2FlYWIyMTQ1MGM5MzMuLjRiYzQ1OTAxYjc5Yjk5Yzk1NDBjZTUzNjUwMWU4OTYwMGExMWQ3ZDIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNw
cAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAg
LTQ5MywxMiArNDkzLDIwIEBAIHZvaWQgV2ViVmlld0hvc3Q6OndpbGxTZW5kUmVxdWVzdChXZWJG
cmFtZSogZnJhbWUsIHVuc2lnbmVkLCBXZWJVUkxSZXF1ZXN0JiByZXF1CiAgICAgcmVxdWVzdC5z
ZXRFeHRyYURhdGEod2Via2l0X3N1cHBvcnQ6OkNyZWF0ZVdlYlVSTFJlcXVlc3RFeHRyYURhdGEo
ZnJhbWUtPmRvY3VtZW50KCkucmVmZXJyZXJQb2xpY3koKSkpOwogfQogCisjaWZkZWYgV0VCS0lU
X1VTRV9ORVdfV0VCRklMRVNZU1RFTVRZUEUKK3ZvaWQgV2ViVmlld0hvc3Q6Om9wZW5GaWxlU3lz
dGVtKFdlYkZyYW1lKiBmcmFtZSwgV2ViRmlsZVN5c3RlbVR5cGUgdHlwZSwgbG9uZyBsb25nIHNp
emUsIGJvb2wgY3JlYXRlLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKiBjYWxsYmFja3MpCisjZWxz
ZQogdm9pZCBXZWJWaWV3SG9zdDo6b3BlbkZpbGVTeXN0ZW0oV2ViRnJhbWUqIGZyYW1lLCBXZWJG
aWxlU3lzdGVtOjpUeXBlIHR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgV2ViRmls
ZVN5c3RlbUNhbGxiYWNrcyogY2FsbGJhY2tzKQorI2VuZGlmCiB7CiAgICAgd2Via2l0X3N1cHBv
cnQ6Ok9wZW5GaWxlU3lzdGVtKGZyYW1lLCB0eXBlLCBzaXplLCBjcmVhdGUsIGNhbGxiYWNrcyk7
CiB9CiAKKyNpZmRlZiBXRUJLSVRfVVNFX05FV19XRUJGSUxFU1lTVEVNVFlQRQordm9pZCBXZWJW
aWV3SG9zdDo6ZGVsZXRlRmlsZVN5c3RlbShXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgV2ViS2l0
OjpXZWJGaWxlU3lzdGVtVHlwZSB0eXBlLCBXZWJLaXQ6OldlYkZpbGVTeXN0ZW1DYWxsYmFja3Mq
IGNhbGxiYWNrcykKKyNlbHNlCiB2b2lkIFdlYlZpZXdIb3N0OjpkZWxldGVGaWxlU3lzdGVtKFdl
YktpdDo6V2ViRnJhbWUqIGZyYW1lLCBXZWJLaXQ6OldlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwg
V2ViS2l0OjpXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKiBjYWxsYmFja3MpCisjZW5kaWYKIHsKICAg
ICB3ZWJraXRfc3VwcG9ydDo6RGVsZXRlRmlsZVN5c3RlbShmcmFtZSwgdHlwZSwgY2FsbGJhY2tz
KTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCmluZGV4
IDVlMjg5MjU0ODYzZWJiMDU2MWY3Y2M0NWJkNGQ2MDcyNTA2ZjYzMjguLjhhZTNlMmJjZDk5MzM0
MDExNmM3MGU1ZGMxZDYwYTdlNWUwNjQ0ZjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuaApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIldlYlRlc3RE
ZWxlZ2F0ZS5oIgogI2luY2x1ZGUgIldlYlRlc3RQcm94eS5oIgogI2luY2x1ZGUgIldlYlZpZXdD
bGllbnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbVR5cGUuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgpAQCAtMTkxLDggKzE5MiwxMyBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1Ymxp
YyBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAog
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlVGl0bGUoV2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0
IFdlYktpdDo6V2ViU3RyaW5nJiwgV2ViS2l0OjpXZWJUZXh0RGlyZWN0aW9uKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkTmF2aWdhdGVXaXRoaW5QYWdlKFdlYktpdDo6V2ViRnJhbWUqLCBib29sIGlz
TmV3TmF2aWdhdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxTZW5kUmVxdWVzdChXZWJLaXQ6
OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Jiwg
Y29uc3QgV2ViS2l0OjpXZWJVUkxSZXNwb25zZSYpOworI2lmZGVmIFdFQktJVF9VU0VfTkVXX1dF
QkZJTEVTWVNURU1UWVBFCisgICAgdmlydHVhbCB2b2lkIG9wZW5GaWxlU3lzdGVtKFdlYktpdDo6
V2ViRnJhbWUqLCBXZWJLaXQ6OldlYkZpbGVTeXN0ZW1UeXBlLCBsb25nIGxvbmcgc2l6ZSwgYm9v
bCBjcmVhdGUsIFdlYktpdDo6V2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopOworICAgIHZpcnR1YWwg
dm9pZCBkZWxldGVGaWxlU3lzdGVtKFdlYktpdDo6V2ViRnJhbWUqLCBXZWJLaXQ6OldlYkZpbGVT
eXN0ZW1UeXBlLCBXZWJLaXQ6OldlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKTsKKyNlbHNlCiAgICAg
dmlydHVhbCB2b2lkIG9wZW5GaWxlU3lzdGVtKFdlYktpdDo6V2ViRnJhbWUqLCBXZWJLaXQ6Oldl
YkZpbGVTeXN0ZW06OlR5cGUsIGxvbmcgbG9uZyBzaXplLCBib29sIGNyZWF0ZSwgV2ViS2l0OjpX
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUZpbGVTeXN0
ZW0oV2ViS2l0OjpXZWJGcmFtZSosIFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6VHlwZSwgV2ViS2l0
OjpXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKik7CisjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgd2ls
bENoZWNrQW5kRGlzcGF0Y2hNZXNzYWdlRXZlbnQoCiAgICAgICAgIFdlYktpdDo6V2ViRnJhbWUq
IHNvdXJjZUZyYW1lLCBXZWJLaXQ6OldlYkZyYW1lKiB0YXJnZXRGcmFtZSwgCiAgICAgICAgIFdl
YktpdDo6V2ViU2VjdXJpdHlPcmlnaW4gdGFyZ2V0LCBXZWJLaXQ6OldlYkRPTU1lc3NhZ2VFdmVu
dCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>