<?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>53041</bug_id>
          
          <creation_ts>2011-01-24 13:39:11 -0800</creation_ts>
          <short_desc>Change ENABLE_3D_CANVAS to ENABLE_WEBGL</short_desc>
          <delta_ts>2011-02-03 16:46:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>53714</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>kbr</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rectalogic</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>339236</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-01-24 13:39:11 -0800</bug_when>
    <thetext>This will make the source less confusing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339290</commentid>
    <comment_count>1</comment_count>
      <attachid>79981</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-01-24 15:14:53 -0800</bug_when>
    <thetext>Created attachment 79981
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339293</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-24 15:19:48 -0800</bug_when>
    <thetext>Sounds sane to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339294</commentid>
    <comment_count>3</comment_count>
      <attachid>79981</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-24 15:20:10 -0800</bug_when>
    <thetext>Comment on attachment 79981
Patch

rs=me.  You should definitely wait for the EWS bots to pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339300</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-24 15:27:40 -0800</bug_when>
    <thetext>Attachment 79981 did not build on gtk:
Build output: http://queues.webkit.org/results/7608329</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339308</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-01-24 15:35:27 -0800</bug_when>
    <thetext>For GTK+, you also need to change the AM_CONDITIONAL line in configure.ac in the root directory of the repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339313</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-01-24 15:39:03 -0800</bug_when>
    <thetext>FYI, http://codereview.chromium.org/6256013 is being landed in Chromium to prevent an interruption in WebGL support when this change lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339340</commentid>
    <comment_count>7</comment_count>
      <attachid>79985</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-01-24 16:03:04 -0800</bug_when>
    <thetext>Created attachment 79985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339343</commentid>
    <comment_count>8</comment_count>
      <attachid>79985</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-01-24 16:04:21 -0800</bug_when>
    <thetext>Comment on attachment 79985
Patch

rs=me.  (Again please let the ews chew this through.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339348</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-01-24 16:12:03 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 79985 [details])
&gt; rs=me.  (Again please let the ews chew this through.)

Will do. Hopefully I&apos;ve fixed the GTK problem. I think the other two that didn&apos;t run on the first one will pass. But we&apos;ll see</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339683</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-01-25 09:27:53 -0800</bug_when>
    <thetext>Committed r76600: &lt;http://trac.webkit.org/changeset/76600&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339688</commentid>
    <comment_count>11</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2011-01-25 09:35:05 -0800</bug_when>
    <thetext>Committed r76601: &lt;http://trac.webkit.org/changeset/76601&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339691</commentid>
    <comment_count>12</comment_count>
    <who name="Zhenyao Mo">zmo</who>
    <bug_when>2011-01-25 09:39:50 -0800</bug_when>
    <thetext>Seems like update-webkit failed to correctly merge the change log, and my patch ended up in the wrong bug.  Should be placed in bug 52338</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339747</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-25 10:49:32 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76600 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339748</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-25 10:49:39 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76601 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342134</commentid>
    <comment_count>15</comment_count>
      <attachid>80571</attachid>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-01-29 14:11:11 -0800</bug_when>
    <thetext>Created attachment 80571
Fix build-webkit to use ENABLE_WEBGL

Tools/Scripts/build-webkit needs to change ENABLE_3D_CANVAS to ENABLE_WEBGL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342450</commentid>
    <comment_count>16</comment_count>
      <attachid>80571</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-01-30 20:36:06 -0800</bug_when>
    <thetext>Comment on attachment 80571
Fix build-webkit to use ENABLE_WEBGL

Could you please regenerate this patch using the prepare-ChangeLog and svn-create-patch scripts described in http://webkit.org/coding/contributing.html ?

It might also be helpful to file a new bug report and point it at this one, just so the dependency chain can be tracked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342570</commentid>
    <comment_count>17</comment_count>
      <attachid>80641</attachid>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-01-31 07:39:04 -0800</bug_when>
    <thetext>Created attachment 80641
Fix build-webkit to use ENABLE_WEBGL

regenerate patch using prepare-ChangeLog and svn-create-patch scripts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343048</commentid>
    <comment_count>18</comment_count>
      <attachid>80641</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-01-31 23:11:19 -0800</bug_when>
    <thetext>Comment on attachment 80641
Fix build-webkit to use ENABLE_WEBGL

Looks okay to me. Let&apos;s let the commit queue process it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344967</commentid>
    <comment_count>19</comment_count>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-03 13:44:22 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Looks okay to me. Let&apos;s let the commit queue process it.

I still don&apos;t see this patch in the queue - maybe it won&apos;t queue it because this bug is closed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344970</commentid>
    <comment_count>20</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-03 13:48:25 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; Looks okay to me. Let&apos;s let the commit queue process it.
&gt; 
&gt; I still don&apos;t see this patch in the queue - maybe it won&apos;t queue it because this bug is closed?

It&apos;s possible. Would you please file a new bug and regenerate the patch against it? It will make tracking this change easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344994</commentid>
    <comment_count>21</comment_count>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-03 14:09:46 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; It&apos;s possible. Would you please file a new bug and regenerate the patch against it? It will make tracking this change easier.

Created bug 53714</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345141</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-03 16:41:52 -0800</bug_when>
    <thetext>The queue does not process patches on closed bugs.  You could re-open the bug and the queue would see it though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345145</commentid>
    <comment_count>23</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-03 16:44:07 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; The queue does not process patches on closed bugs.  You could re-open the bug and the queue would see it though.

Thanks, I didn&apos;t know that. I think it would be best to apply the patch under the new bug and will review it shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345147</commentid>
    <comment_count>24</comment_count>
      <attachid>80641</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-02-03 16:44:37 -0800</bug_when>
    <thetext>Comment on attachment 80641
Fix build-webkit to use ENABLE_WEBGL

Will review the patch on the new bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79981</attachid>
            <date>2011-01-24 15:14:53 -0800</date>
            <delta_ts>2011-01-24 16:03:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53041-20110124151452.patch</filename>
            <type>text/plain</type>
            <size>101880</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzY1NDkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMDEtMjQgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBFTkFCTEVfM0Rf
Q0FOVkFTIHRvIEVOQUJMRV9XRUJHTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTMwNDEKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnOgorCiAyMDExLTAxLTI0ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxl
LmNvbT4KIAogICAgICAgICBXaW5kb3dzIFByb2R1Y3Rpb24gYnVpbGQgZml4CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5
KQpAQCAtMzgsMTAgKzM4LDEwIEBAIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4
ID0gJCgKIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4XzEwNjAgPSA7CiBFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTX21hY29zeF8xMDcwID0gOwogCi1FTkFCTEVfM0RfQ0FO
VkFTID0gJChFTkFCTEVfM0RfQ0FOVkFTXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVf
M0RfQ0FOVkFTX21hY29zeCA9ICQoRU5BQkxFXzNEX0NBTlZBU19tYWNvc3hfJChUQVJHRVRfTUFD
X09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFXzNEX0NBTlZBU19tYWNvc3hfMTA2MCA9IEVO
QUJMRV8zRF9DQU5WQVM7Ci1FTkFCTEVfM0RfQ0FOVkFTX21hY29zeF8xMDcwID0gRU5BQkxFXzNE
X0NBTlZBUzsKK0VOQUJMRV9XRUJHTCA9ICQoRU5BQkxFX1dFQkdMXyQoUkVBTF9QTEFURk9STV9O
QU1FKSk7CitFTkFCTEVfV0VCR0xfbWFjb3N4ID0gJChFTkFCTEVfV0VCR0xfbWFjb3N4XyQoVEFS
R0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKK0VOQUJMRV9XRUJHTF9tYWNvc3hfMTA2MCA9
IEVOQUJMRV9XRUJHTDsKK0VOQUJMRV9XRUJHTF9tYWNvc3hfMTA3MCA9IEVOQUJMRV9XRUJHTDsK
IAogRU5BQkxFXzNEX1JFTkRFUklORyA9ICQoRU5BQkxFXzNEX1JFTkRFUklOR18kKFJFQUxfUExB
VEZPUk1fTkFNRSkpOwogRU5BQkxFXzNEX1JFTkRFUklOR19pcGhvbmVvcyA9IEVOQUJMRV8zRF9S
RU5ERVJJTkc7CkBAIC0xMjEsNCArMTIxLDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVf
WFBBVEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5U
X0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQp
ICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNP
VVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTUFHRV9SRVNJWkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChF
TkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElP
TikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1Mp
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJM
RV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElF
TlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJ
RCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5U
U09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFU
SU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5H
UykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5B
QkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxF
X1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xU
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTQ5KQorKysgU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQ1IEBACisyMDExLTAxLTI0ICBDaHJp
cyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgRU5BQkxFXzNEX0NBTlZBUyB0byBFTkFCTEVf
V0VCR0wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUz
MDQxCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5jcHA6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6Cisg
ICAgICAgICogYmluZGluZ3MvanMvSlNBcnJheUJ1ZmZlckN1c3RvbS5jcHA6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9t
LmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RhdGFWaWV3Q3VzdG9tLmNwcDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0Zsb2F0MzJBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNI
VE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxDYW52
YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0ludDE2QXJy
YXlDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW50MzJBcnJheUN1c3RvbS5j
cHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbnQ4QXJyYXlDdXN0b20uY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTVWludDE2QXJyYXlDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTVWludDMyQXJyYXlDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
VWludDhBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJHTFJlbmRl
cmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTWE1MSHR0cFJl
cXVlc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNYTUxIdHRwUmVxdWVzdDo6bWFy
a0NoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkpTWE1MSHR0cFJlcXVlc3Q6OnNlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SlNYTUxIdHRwUmVxdWVzdDo6cmVzcG9uc2UpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlclZpZXdDdXN0b20uaDoKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1c3RvbS5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhE
b2N1bWVudDo6Z2V0Q1NTQ2FudmFzQ29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhGbG9hdDMyQXJyYXlDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRDYWxsYmFjayk6CisgICAgICAgICog
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MTZBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SW50OEFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4VWludDMyQXJyYXlDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFVpbnQ4QXJyYXlDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3Mv
djgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VjhYTUxIdHRwUmVxdWVzdDo6cmVzcG9uc2VBY2Nlc3NvckdldHRlcik6CisgICAgICAgIChXZWJD
b3JlOjpWOFhNTEh0dHBSZXF1ZXN0OjpzZW5kQ2FsbGJhY2spOgorICAgICAgICAqIGZlYXR1cmVz
LnByaToKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDYW52YXNFbGVtZW50OjpyZXNldCk6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcDoKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQXJy
YXlCdWZmZXJWaWV3LmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcu
aWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0RhdGFWaWV3LmNwcDoKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9EYXRhVmlldy5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5
LmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsOgorICAgICAgICAq
IGh0bWwvY2FudmFzL0ludDE2QXJyYXkuY3BwOgorICAgICAgICAqIGh0bWwvY2FudmFzL0ludDE2
QXJyYXkuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuY3BwOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL0lu
dDhBcnJheS5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbDoKKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcDoKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwOgorICAgICAgICAqIGh0bWwvY2FudmFzL09FU1RleHR1
cmVGbG9hdC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvVWludDE2QXJyYXkuY3BwOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1VpbnQxNkFycmF5LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9VaW50MzJBcnJheS5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRs
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQ4QXJyYXkuY3BwOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1VpbnQ4QXJyYXkuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQWN0aXZl
SW5mby5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHTENvbnRleHRBdHRyaWJ1dGVzLmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTENv
bnRleHRBdHRyaWJ1dGVzLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRF
dmVudC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uY3BwOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
R2V0SW5mby5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuY3BwOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5jcHA6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xQcm9ncmFtLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1
ZmZlci5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaWRsOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbDoKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHTFNoYWRlci5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xTaGFk
ZXIuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHA6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHTFVuaWZvcm1Mb2NhdGlvbi5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xVbmlm
b3JtTG9jYXRpb24uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0
LmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4dC5pZGw6CisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0FO
R0xFV2ViS2l0QnJpZGdlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQzRC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3ND
b250ZXh0M0RDRy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdC
dWZmZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9tYWMvRHJhd2luZ0J1
ZmZlck1hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250
ZXh0M0RNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIu
bW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5H
TC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dDNET3BlbkdMLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9FeHRlbnNpb25z
M0RRdC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0
M0RRdC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJRdEltcGw6OkdyYXBoaWNzTGF5
ZXJRdEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1wbDo6cGFpbnQp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dDNEU2tpYS5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFw
cGVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjppc0FjY2VsZXJhdGVkQ2FudmFzKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckNvbmZpZ3VyYXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpjb250YWluc1BhaW50ZWRDb250ZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6Y29udGVudENoYW5nZWQp
OgorICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlvQnVmZmVyLmNwcDoKKyAgICAgICAgKiB3ZWJhdWRp
by9BdWRpb0J1ZmZlci5pZGw6CisgICAgICAgICogd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5j
cHA6CisgICAgICAgICogd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oOgorICAgICAgICAqIHdl
YmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXJOb2RlLmg6CisgICAgICAgICogd2ViYXVkaW8vUmVhbHRp
bWVBbmFseXNlck5vZGUuaWRsOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2V0UmVzcG9uc2VUeXBlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjbGVhclJlc3BvbnNlKToKKyAgICAgICAgKFdl
YkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0Lmg6CisKIDIwMTEtMDEtMjQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSAi
SlNDYW52YXNQYXR0ZXJuLmNwcCIKICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQu
Y3BwIgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCIKLSNpZiBFTkFC
TEUoM0RfQ0FOVkFTKSAgICAKKyNpZiBFTkFCTEUoV0VCR0wpICAgIAogI2luY2x1ZGUgIkpTV2Vi
R0xSZW5kZXJpbmdDb250ZXh0LmNwcCIKICNlbmRpZgogI2luY2x1ZGUgIkpTQ0RBVEFTZWN0aW9u
LmNwcCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC00NjgyLDkgKzQ2ODIs
OSBAQCBlbmRpZiAgIyBFTkQgRU5BQkxFX0JMT0IKICMgLS0tCiAjIDNEIGNhbnZhcyAoV2ViR0wp
IHN1cHBvcnQKICMgLS0tCi1pZiBFTkFCTEVfM0RfQ0FOVkFTCi1GRUFUVVJFX0RFRklORVMgKz0g
RU5BQkxFXzNEX0NBTlZBUz0xCi13ZWJjb3JlX2NwcGZsYWdzICs9IC1ERU5BQkxFXzNEX0NBTlZB
Uz0xCitpZiBFTkFCTEVfV0VCR0wKK0ZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfV0VCR0w9MQor
d2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9XRUJHTD0xCiB3ZWJjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQWN0aXZlSW5mby5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAgXApAQCAtNDcxMSw3ICs0NzEx
LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFRleHR1cmUuaCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3Jt
TG9jYXRpb24uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1M
b2NhdGlvbi5oCi1lbmRpZiAgIyBFTkQgRU5BQkxFXzNEX0NBTlZBUworZW5kaWYgICMgRU5EIEVO
QUJMRV9XRUJHTAogCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuY3Bw
OiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NTU1Byb3BlcnR5TmFtZXMuaAogRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmg6ICQoV0VCQ09SRV9DU1NfUFJPUEVSVFlfTkFN
RVMpICQoV2ViQ29yZSkvY3NzL21ha2Vwcm9wLnBsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNp
b24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpA
QCAtMzc1OSw3ICszNzU5LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1dFQl9TT0NLRVRT
PTEpIAogICAgIH0KIH0KIAotY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0JMT0I9MSkgfCBjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfQ0FOVkFTPTEpIHsKK2NvbnRhaW5zKERFRklORVMsIEVO
QUJMRV9CTE9CPTEpIHwgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1dFQkdMPTEpIHsKICAgICAh
djggewogICAgICAgICBIRUFERVJTICs9IFwKICAgICAgICAgICAgIGJpbmRpbmdzL2pzL0pTQXJy
YXlCdWZmZXJWaWV3SGVscGVyLmgKQEAgLTM4MDIsNyArMzgwMiw3IEBAIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9CTE9CPTEpIHwgY29udGEKICAgICAgICAgaHRtbC9jYW52YXMvVWludDE2QXJy
YXkuY3BwCiAgICAgfQogCi1jb250YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfQ0FOVkFTPTEpIHsK
K2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJHTD0xKSB7CiAgICAgdG9iZXwhdG9iZTogUVQg
Kz0gb3BlbmdsCiAKICAgICBIRUFERVJTICs9IFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2ZlYXR1
cmVzLnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5wcmkJKHJldmlz
aW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvZmVhdHVyZXMucHJpCSh3b3JraW5nIGNvcHkp
CkBAIC03Myw3ICs3Myw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TSU5HTEVfVEhSRUFE
RUQKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSU5TUEVDVE9SPS4pOiBERUZJTkVTICs9IEVO
QUJMRV9JTlNQRUNUT1I9MQogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV8zRF9SRU5ERVJJTkc9
Lik6IERFRklORVMgKz0gRU5BQkxFXzNEX1JFTkRFUklORz0xCiAhY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX1dFQl9BVURJTz0uKTogREVGSU5FUyArPSBFTkFCTEVfV0VCX0FVRElPPTAKLSFjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfQ0FOVkFTPS4pOiBERUZJTkVTICs9IEVOQUJMRV8zRF9D
QU5WQVM9MAorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9XRUJHTD0uKTogREVGSU5FUyArPSBF
TkFCTEVfV0VCR0w9MAogCiAjIFNWRyBzdXBwb3J0CiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1NWRz0wKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5
KQpAQCAtMzgsMTAgKzM4LDEwIEBAIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4
ID0gJCgKIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4XzEwNjAgPSA7CiBFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTX21hY29zeF8xMDcwID0gOwogCi1FTkFCTEVfM0RfQ0FO
VkFTID0gJChFTkFCTEVfM0RfQ0FOVkFTXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVf
M0RfQ0FOVkFTX21hY29zeCA9ICQoRU5BQkxFXzNEX0NBTlZBU19tYWNvc3hfJChUQVJHRVRfTUFD
X09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFXzNEX0NBTlZBU19tYWNvc3hfMTA2MCA9IEVO
QUJMRV8zRF9DQU5WQVM7Ci1FTkFCTEVfM0RfQ0FOVkFTX21hY29zeF8xMDcwID0gRU5BQkxFXzNE
X0NBTlZBUzsKK0VOQUJMRV9XRUJHTCA9ICQoRU5BQkxFX1dFQkdMXyQoUkVBTF9QTEFURk9STV9O
QU1FKSk7CitFTkFCTEVfV0VCR0xfbWFjb3N4ID0gJChFTkFCTEVfV0VCR0xfbWFjb3N4XyQoVEFS
R0VUX01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKK0VOQUJMRV9XRUJHTF9tYWNvc3hfMTA2MCA9
IEVOQUJMRV9XRUJHTDsKK0VOQUJMRV9XRUJHTF9tYWNvc3hfMTA3MCA9IEVOQUJMRV9XRUJHTDsK
IAogRU5BQkxFXzNEX1JFTkRFUklORyA9ICQoRU5BQkxFXzNEX1JFTkRFUklOR18kKFJFQUxfUExB
VEZPUk1fTkFNRSkpOwogRU5BQkxFXzNEX1JFTkRFUklOR19pcGhvbmVvcyA9IEVOQUJMRV8zRF9S
RU5ERVJJTkc7CkBAIC0xMjEsNCArMTIxLDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVf
WFBBVEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5U
X0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQp
ICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNP
VVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTUFHRV9SRVNJWkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChF
TkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElP
TikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1Mp
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJM
RV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9X
T1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElF
TlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJ
RCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5U
U09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFU
SU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5H
UykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5B
QkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxF
X1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xU
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMv
UnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC05Nyw3ICs5Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCB3ZWJraXRBdWRp
b0NvbnRleHRFbmFibGVkKCkgeyByZXR1cm4gaXNXZWJBdWRpb0VuYWJsZWQ7IH0KICNlbmRpZgog
Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdM
KSB8fCBFTkFCTEUoQkxPQikKICAgICBzdGF0aWMgdm9pZCBzZXRXZWJHTEVuYWJsZWQoYm9vbCBp
c0VuYWJsZWQpIHsgaXNXZWJHTEVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBzdGF0aWMgYm9v
bCBhcnJheUJ1ZmZlckVuYWJsZWQoKSB7IHJldHVybiBpc1dlYkdMRW5hYmxlZDsgfQogICAgIHN0
YXRpYyBib29sIGludDhBcnJheUVuYWJsZWQoKSB7IHJldHVybiBpc1dlYkdMRW5hYmxlZDsgfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBcnJheUJ1ZmZlckN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBcnJheUJ1ZmZlckN1
c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNBcnJheUJ1ZmZlckN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAK
IAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxF
KEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkpT
QXJyYXlCdWZmZXIuaCIKIApAQCAtNTQsNCArNTQsNCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIEpTQXJyYXlCdWZmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJH
TCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAJKHJldmlz
aW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDYW52YXNSZW5kZXJp
bmdDb250ZXh0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiAj
aW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgiCiAjaW5jbHVkZSAiSlNDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaCIKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShX
RUJHTCkKICNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJKU1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCkBAIC00Miw3ICs0Miw3IEBAIEpTQzo6SlNW
YWx1ZSB0b0pTKEpTQzo6RXhlY1N0YXRlKiBleGVjLCAKICAgICBpZiAoIW9iamVjdCkKICAgICAg
ICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVO
QUJMRShXRUJHTCkKICAgICBpZiAob2JqZWN0LT5pczNkKCkpCiAgICAgICAgIHJldHVybiBnZXRE
T01PYmplY3RXcmFwcGVyPEpTV2ViR0xSZW5kZXJpbmdDb250ZXh0PihleGVjLCBnbG9iYWxPYmpl
Y3QsIHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KG9iamVjdCkpOwogI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQAogI2lu
Y2x1ZGUgPHJ1bnRpbWUvSlNGdW5jdGlvbi5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvUHJvdG90eXBl
RnVuY3Rpb24uaD4KIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lm
IEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5o
IgogI2luY2x1ZGUgIkpTRGF0YVZpZXcuaCIKICNpbmNsdWRlICJKU0Zsb2F0MzJBcnJheS5oIgpA
QCAtNTM4LDcgKzUzOCw3IEBAIEpTVmFsdWUgSlNET01XaW5kb3c6OndlYktpdENTU01hdHJpeChF
eGUKICAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNXZWJLaXRDU1NNYXRyaXhDb25zdHJ1
Y3Rvcj4oZXhlYywgdGhpcyk7CiB9CiAgCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxF
KEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIEpTVmFsdWUgSlNET01X
aW5kb3c6OmFycmF5QnVmZmVyKEV4ZWNTdGF0ZSogZXhlYykgY29uc3QKIHsKICAgICByZXR1cm4g
Z2V0RE9NQ29uc3RydWN0b3I8SlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yPihleGVjLCB0aGlzKTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGF0YVZpZXdDdXN0b20uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGF0YVZpZXdDdXN0b20u
Y3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGF0
YVZpZXdDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNs
dWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQor
I2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJKU0RhdGFWaWV3
LmgiCiAKQEAgLTE2MSw0ICsxNjEsNCBAQCBKU1ZhbHVlIEpTRGF0YVZpZXc6OnNldFVpbnQ4KEV4
ZWNTdGF0ZSogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgz
RF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5B
QkxFKEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3VtZW50Q3Vz
dG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RvY3Vt
ZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RvY3VtZW50Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBA
QAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRNTERvY3VtZW50LmgiCiAj
aW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKLSNpZiBFTkFCTEUoM0RfQ0FO
VkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4
dC5oIgogI2VuZGlmCiAjaW5jbHVkZSAiSlNET01XaW5kb3dDdXN0b20uaCIKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRmxvYXQzMkFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Zsb2F0MzJBcnJheUN1c3RvbS5jcHAJ
KHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNGbG9hdDMy
QXJyYXlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNs
dWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQor
I2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJKU0Zsb2F0MzJB
cnJheS5oIgogCkBAIC02Myw0ICs2Myw0IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
SlNGbG9hdDMyQXIKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBF
TkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZh
c0VsZW1lbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSAiQ2FudmFzQ29udGV4dEF0
dHJpYnV0ZXMuaCIKICNpbmNsdWRlICJIVE1MQ2FudmFzRWxlbWVudC5oIgogI2luY2x1ZGUgIkpT
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgiCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBF
TkFCTEUoV0VCR0wpCiAjaW5jbHVkZSAiSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNs
dWRlICJXZWJHTENvbnRleHRBdHRyaWJ1dGVzLmgiCiAjZW5kaWYKQEAgLTU1LDcgKzU1LDcgQEAg
SlNWYWx1ZSBKU0hUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KAogICAgIEhUTUxDYW52YXNF
bGVtZW50KiBjYW52YXMgPSBzdGF0aWNfY2FzdDxIVE1MQ2FudmFzRWxlbWVudCo+KGltcGwoKSk7
CiAgICAgY29uc3QgVVN0cmluZyYgY29udGV4dElkID0gZXhlYy0+YXJndW1lbnQoMCkudG9TdHJp
bmcoZXhlYyk7CiAgICAgUmVmUHRyPENhbnZhc0NvbnRleHRBdHRyaWJ1dGVzPiBhdHRyczsKLSNp
ZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICAgICBpZiAoY29udGV4dElk
ID09ICJleHBlcmltZW50YWwtd2ViZ2wiIHx8IGNvbnRleHRJZCA9PSAid2Via2l0LTNkIikgewog
ICAgICAgICBhdHRycyA9IFdlYkdMQ29udGV4dEF0dHJpYnV0ZXM6OmNyZWF0ZSgpOwogICAgICAg
ICBXZWJHTENvbnRleHRBdHRyaWJ1dGVzKiB3ZWJHTEF0dHJzID0gc3RhdGljX2Nhc3Q8V2ViR0xD
b250ZXh0QXR0cmlidXRlcyo+KGF0dHJzLmdldCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSW50OEFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ludDhBcnJheUN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbnQ4QXJyYXlDdXN0b20uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lm
IEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwg
RU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJKU0ludDhBcnJheS5oIgogCkBAIC02NCw0ICs2NCw0
IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNJbnQ4QXJyYXkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJM
T0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW50MTZBcnJheUN1c3RvbS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbnQxNkFycmF5Q3VzdG9tLmNwcAkocmV2
aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ludDE2QXJyYXlD
dXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVO
QUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJKU0ludDE2QXJyYXkuaCIK
IApAQCAtNjMsNCArNjMsNCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTSW50MTZB
cnJhCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5W
QVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJM
T0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ludDMyQXJyYXlDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW50MzJBcnJh
eUN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNJbnQzMkFycmF5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBA
QAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFC
TEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAi
SlNJbnQzMkFycmF5LmgiCiAKQEAgLTYzLDQgKzYzLDQgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBKU0ludDMyQXJyYQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VC
R0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNV
aW50OEFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1VpbnQ4QXJyYXlDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTVWludDhBcnJheUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNE
X0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxP
QikKIAogI2luY2x1ZGUgIkpTVWludDhBcnJheS5oIgogCkBAIC02Myw0ICs2Myw0IEBAIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNVaW50OEFycmEKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5k
aWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTVWludDE2QXJyYXlDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVWludDE2QXJyYXlDdXN0b20uY3BwCShyZXZpc2lvbiA3
NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVWludDE2QXJyYXlDdXN0b20u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcu
aCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShX
RUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJKU1VpbnQxNkFycmF5LmgiCiAKQEAg
LTYzLDQgKzYzLDQgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU1VpbnQxNkFycgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8
fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNVaW50MzJBcnJheUN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNVaW50MzJBcnJheUN1
c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNVaW50MzJBcnJheUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAK
IAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxF
KEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkpT
VWludDMyQXJyYXkuaCIKIApAQCAtNjMsNCArNjMsNCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIEpTVWludDMyQXJyCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJH
TCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dl
YkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCShyZXZpc2lv
biA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdD
b250ZXh0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJH
TCkKIAogI2luY2x1ZGUgIkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAKQEAgLTcwMyw0ICs3
MDMsNCBAQCBKU0M6OkpTVmFsdWUgSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZlCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxI
dHRwUmVxdWVzdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBKU1hNTEh0dHBSZXF1ZXN0OjptYXJrQ2hp
bGRyZW4oTWFyawogICAgIGlmIChEb2N1bWVudCogcmVzcG9uc2VEb2N1bWVudCA9IG1faW1wbC0+
b3B0aW9uYWxSZXNwb25zZVhNTCgpKQogICAgICAgICBtYXJrRE9NT2JqZWN0V3JhcHBlcihtYXJr
U3RhY2ssICpIZWFwOjpoZWFwKHRoaXMpLT5nbG9iYWxEYXRhKCksIHJlc3BvbnNlRG9jdW1lbnQp
OwogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdF
QkdMKSB8fCBFTkFCTEUoQkxPQikKICAgICBpZiAoQXJyYXlCdWZmZXIqIHJlc3BvbnNlQXJyYXlC
dWZmZXIgPSBtX2ltcGwtPm9wdGlvbmFsUmVzcG9uc2VBcnJheUJ1ZmZlcigpKQogICAgICAgICBt
YXJrRE9NT2JqZWN0V3JhcHBlcihtYXJrU3RhY2ssICpIZWFwOjpoZWFwKHRoaXMpLT5nbG9iYWxE
YXRhKCksIHJlc3BvbnNlQXJyYXlCdWZmZXIpOwogI2VuZGlmCkBAIC0xMjQsNyArMTI0LDcgQEAg
SlNWYWx1ZSBKU1hNTEh0dHBSZXF1ZXN0OjpzZW5kKEV4ZWNTdGF0ZQogICAgICAgICAgICAgaW1w
bCgpLT5zZW5kKHRvQmxvYih2YWwpLCBlYyk7CiAgICAgICAgIGVsc2UgaWYgKHZhbC5pbmhlcml0
cygmSlNET01Gb3JtRGF0YTo6c19pbmZvKSkKICAgICAgICAgICAgIGltcGwoKS0+c2VuZCh0b0RP
TUZvcm1EYXRhKHZhbCksIGVjKTsKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxP
QikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogICAgICAgICBlbHNlIGlmICh2
YWwuaW5oZXJpdHMoJkpTQXJyYXlCdWZmZXI6OnNfaW5mbykpCiAgICAgICAgICAgICBpbXBsKCkt
PnNlbmQodG9BcnJheUJ1ZmZlcih2YWwpLCBlYyk7CiAjZW5kaWYKQEAgLTE4OSw3ICsxODksNyBA
QCBKU1ZhbHVlIEpTWE1MSHR0cFJlcXVlc3Q6OnJlc3BvbnNlKEV4ZWNTCiAjZW5kaWYKIAogICAg
IGNhc2UgWE1MSHR0cFJlcXVlc3Q6OlJlc3BvbnNlVHlwZUFycmF5QnVmZmVyOgotI2lmIEVOQUJM
RSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxF
KEJMT0IpCiAgICAgICAgIHsKICAgICAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAg
ICAgICAgICAgQXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyID0gaW1wbCgpLT5yZXNwb25zZUFycmF5
QnVmZmVyKGVjKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFy
cmF5QnVmZmVyQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlckN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJDdXN0b20uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIK
IAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJH
TCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJBcnJheUJ1ZmZlci5oIgogCkBAIC03OCw0
ICs3OCw0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEFycmF5QnVmZmVyOjpjb24KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5B
QkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3Rv
bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFy
cmF5QnVmZmVyVmlld0N1c3RvbS5oCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIFY4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tX2gK
ICNkZWZpbmUgVjhBcnJheUJ1ZmZlclZpZXdDdXN0b21faAogCi0jaWYgRU5BQkxFKDNEX0NBTlZB
UykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIAog
I2luY2x1ZGUgIkFycmF5QnVmZmVyLmgiCiAKQEAgLTIwOSw2ICsyMDksNiBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gc2V0V2ViR0xBcnJheUhlbHBlCiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgz
RF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQogCiAjZW5kaWYgLy8gVjhBcnJheUJ1
ZmZlclZpZXdDdXN0b21faApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RGF0YVZpZXdDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1c3RvbS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0j
aWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8
fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkRhdGFWaWV3LmgiCiAKQEAgLTEyMSw0ICsxMjEs
NCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEYXRhVmlldzo6c2V0VWluCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShC
TE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0
b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBA
QAogI2luY2x1ZGUgIlY4UHJveHkuaCIKICNpbmNsdWRlICJWOFRvdWNoLmgiCiAjaW5jbHVkZSAi
VjhUb3VjaExpc3QuaCIKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkK
ICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSAi
VjhYUGF0aE5TUmVzb2x2ZXIuaCIKQEAgLTExMCwxMCArMTEwLDEwIEBAIHY4OjpIYW5kbGU8djg6
OlZhbHVlPiBWOERvY3VtZW50OjpnZXRDU1MKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQo
KTsKICAgICBpZiAocmVzdWx0LT5pczJkKCkpCiAgICAgICAgIHJldHVybiB0b1Y4KHN0YXRpY19j
YXN0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCo+KHJlc3VsdCkpOwotI2lmIEVOQUJMRSgzRF9D
QU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogICAgIGVsc2UgaWYgKHJlc3VsdC0+aXMzZCgpKQog
ICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJlbmRlcmluZ0NvbnRleHQqPihy
ZXN1bHQpKTsKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShX
RUJHTCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gdjg6OlVuZGVmaW5l
ZCgpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RmxvYXQz
MkFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhGbG9hdDMyQXJyYXlDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEZsb2F0MzJBcnJheUN1c3RvbS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdM
KSB8fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkFycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAi
RmxvYXQzMkFycmF5LmgiCkBAIC02OCw0ICs2OCw0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0
b1Y4KEZsb2F0MzJBcnJheSoKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8g
RU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdM
KSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAJKHJl
dmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRN
TENhbnZhc0VsZW1lbnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBA
CiAjaW5jbHVkZSAiVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpbmNsdWRlICJWOE5v
ZGUuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBF
TkFCTEUoV0VCR0wpCiAjaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRp
ZgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CkBAIC01NSw3ICs1NSw3IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNFbGVtZW4KICAgICBIVE1MQ2FudmFzRWxlbWVudCog
aW1wID0gVjhIVE1MQ2FudmFzRWxlbWVudDo6dG9OYXRpdmUoaG9sZGVyKTsKICAgICBTdHJpbmcg
Y29udGV4dElkID0gdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0pOwogICAgIFJlZlB0cjxDYW52YXND
b250ZXh0QXR0cmlidXRlcz4gYXR0cnM7Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFC
TEUoV0VCR0wpCiAgICAgaWYgKGNvbnRleHRJZCA9PSAiZXhwZXJpbWVudGFsLXdlYmdsIiB8fCBj
b250ZXh0SWQgPT0gIndlYmtpdC0zZCIpIHsKICAgICAgICAgYXR0cnMgPSBXZWJHTENvbnRleHRB
dHRyaWJ1dGVzOjpjcmVhdGUoKTsKICAgICAgICAgV2ViR0xDb250ZXh0QXR0cmlidXRlcyogd2Vi
R0xBdHRycyA9IHN0YXRpY19jYXN0PFdlYkdMQ29udGV4dEF0dHJpYnV0ZXMqPihhdHRycy5nZXQo
KSk7CkBAIC04NCw3ICs4NCw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhUTUxDYW52YXNF
bGVtZW4KICAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CiAgICAgaWYgKHJlc3VsdC0+aXMyZCgp
KQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQqPihyZXN1bHQpKTsKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkK
ICAgICBlbHNlIGlmIChyZXN1bHQtPmlzM2QoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGlj
X2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4ocmVzdWx0KSk7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDhBcnJheUN1c3RvbS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50OEFycmF5
Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJbnQ4QXJyYXlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICsz
MCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8
IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNs
dWRlICJBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludDhBcnJheS5oIgpAQCAtNjgsNCArNjgs
NCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJbnQ4QXJyYXkqIGltCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShC
TE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnQxNkFycmF5Q3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnQxNkFycmF5
Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJbnQxNkFycmF5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8
fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5j
bHVkZSAiQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJJbnQxNkFycmF5LmgiCkBAIC02OCw0ICs2
OCw0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEludDE2QXJyYXkqIGkKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxF
KEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDMyQXJyYXlDdXN0b20uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDMyQXJy
YXlDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEludDMyQXJyYXlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3
ICszMCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMp
IHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNp
bmNsdWRlICJBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludDMyQXJyYXkuaCIKQEAgLTY4LDQg
KzY4LDQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSW50MzJBcnJheSogaQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFC
TEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhB
cnJheUN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4VWludDhBcnJheUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZB
UykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIAog
I2luY2x1ZGUgIkFycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAiVWludDhBcnJheS5oIgpAQCAtNjgs
NCArNjgsNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChVaW50OEFycmF5KiBpCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVO
QUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3RvbS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWlu
dDE2QXJyYXlDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0Rf
Q0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9C
KQogCiAjaW5jbHVkZSAiQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJVaW50MTZBcnJheS5oIgpA
QCAtNjgsNCArNjgsNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChVaW50MTZBcnJheSog
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMp
IHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0Ip
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MzJBcnJheUN1
c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4VWludDMyQXJyYXlDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFC
TEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJM
RShCTE9CKQogCiAjaW5jbHVkZSAiQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJVaW50MzJBcnJh
eS5oIgpAQCAtNjgsNCArNjgsNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChVaW50MzJB
cnJheSogCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9D
QU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxF
KEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJl
bmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAJKHJldmlz
aW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xS
ZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBA
QAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVO
QUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIlY4V2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAKQEAg
LTc3Myw0ICs3NzMsNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXZWJHTFJlbmRlcmluZ0Nv
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMp
CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAko
cmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhY
TUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1LDcgKzk1LDcgQEAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4WE1MSHR0cFJlcXVlc3Q6OgogICAgICAgICByZXR1cm4g
djg6OlVuZGVmaW5lZCgpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFC
TEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogICAgIGNhc2UgWE1M
SHR0cFJlcXVlc3Q6OlJlc3BvbnNlVHlwZUFycmF5QnVmZmVyOgogICAgICAgICB7CiAgICAgICAg
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTE5Myw3ICsxOTMsNyBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhYTUxIdHRwUmVxdWVzdDo6CiAgICAgICAgICAgICBET01Gb3JtRGF0YSog
ZG9tRm9ybURhdGEgPSBWOERPTUZvcm1EYXRhOjp0b05hdGl2ZShvYmplY3QpOwogICAgICAgICAg
ICAgQVNTRVJUKGRvbUZvcm1EYXRhKTsKICAgICAgICAgICAgIHhtbEh0dHBSZXF1ZXN0LT5zZW5k
KGRvbUZvcm1EYXRhLCBlYyk7Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0Ip
CisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKICAgICAgICAgfSBlbHNlIGlmIChW
OEFycmF5QnVmZmVyOjpIYXNJbnN0YW5jZShhcmcpKSB7CiAgICAgICAgICAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IG9iamVjdCA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnKTsK
ICAgICAgICAgICAgIEFycmF5QnVmZmVyKiBhcnJheUJ1ZmZlciA9IFY4QXJyYXlCdWZmZXI6OnRv
TmF0aXZlKG9iamVjdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52
YXNFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsNyBAQAogI2luY2x1ZGUg
PG1hdGguaD4KICNpbmNsdWRlIDxzdGRpby5oPgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgICAg
CisjaWYgRU5BQkxFKFdFQkdMKSAgICAKICNpbmNsdWRlICJXZWJHTENvbnRleHRBdHRyaWJ1dGVz
LmgiCiAjaW5jbHVkZSAiV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5kaWYKQEAgLTE2Niw3
ICsxNjYsNyBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxlbWVuCiAgICAg
ICAgIH0KICAgICAgICAgcmV0dXJuIG1fY29udGV4dC5nZXQoKTsKICAgICB9Ci0jaWYgRU5BQkxF
KDNEX0NBTlZBUykgICAgCisjaWYgRU5BQkxFKFdFQkdMKSAgICAKICAgICBTZXR0aW5ncyogc2V0
dGluZ3MgPSBkb2N1bWVudCgpLT5zZXR0aW5ncygpOwogICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0
aW5ncy0+d2ViR0xFbmFibGVkKCkKICNpZiAhUExBVEZPUk0oQ0hST01JVU0pICYmICFQTEFURk9S
TShRVCkKQEAgLTIzMiw3ICsyMzIsNyBAQCB2b2lkIEhUTUxDYW52YXNFbGVtZW50OjpyZXNldCgp
CiAgICAgSW50U2l6ZSBvbGRTaXplID0gc2l6ZSgpOwogICAgIHNldFN1cmZhY2VTaXplKEludFNp
emUodywgaCkpOyAvLyBUaGUgaW1hZ2UgYnVmZmVyIGdldHMgY2xlYXJlZCBoZXJlLgogCi0jaWYg
RU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAgICAgaWYgKG1fY29udGV4dCAm
JiBtX2NvbnRleHQtPmlzM2QoKSAmJiBvbGRTaXplICE9IHNpemUoKSkKICAgICAgICAgc3RhdGlj
X2Nhc3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4obV9jb250ZXh0LmdldCgpKS0+cmVzaGFwZSh3
aWR0aCgpLCBoZWlnaHQoKSk7CiAjZW5kaWYKQEAgLTI3OSw3ICsyNzksNyBAQCB2b2lkIEhUTUxD
YW52YXNFbGVtZW50OjpwYWludChHcmFwaGljc0NvCiAgICAgfQogfQogCi0jaWYgRU5BQkxFKDNE
X0NBTlZBUykgICAgCisjaWYgRU5BQkxFKFdFQkdMKSAgICAKIGJvb2wgSFRNTENhbnZhc0VsZW1l
bnQ6OmlzM0QoKSBjb25zdAogewogICAgIHJldHVybiBtX2NvbnRleHQgJiYgbV9jb250ZXh0LT5p
czNkKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCShyZXZp
c2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzExOCw3IEBAIHB1YmxpYzoKIAogICAgIEFmZmluZVRy
YW5zZm9ybSBiYXNlVHJhbnNmb3JtKCkgY29uc3Q7CiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSAg
ICAKKyNpZiBFTkFCTEUoV0VCR0wpICAgIAogICAgIGJvb2wgaXMzRCgpIGNvbnN0OwogI2VuZGlm
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5jcHAJKHJl
dmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcu
aCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShX
RUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJBcnJheUJ1ZmZlci5oIgogCkBAIC0x
MDEsNCArMTAxLDQgQEAgdm9pZCogQXJyYXlCdWZmZXI6OnRyeUFsbG9jYXRlKHVuc2lnbmVkIAog
CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDcgKzI2LDcgQEAKIG1vZHVsZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENv
bmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLAorICAgICAgICBDb25kaXRpb25hbD1XRUJHTHxCTE9C
LAogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5j
dGlvbiwKICAgICAgICAgTm9TdGF0aWNUYWJsZXMsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
M0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShC
TE9CKQogCiAjaW5jbHVkZSAiQXJyYXlCdWZmZXJWaWV3LmgiCiAKQEAgLTEwNiw0ICsxMDYsNCBA
QCB2b2lkIEFycmF5QnVmZmVyVmlldzo6Y2FsY3VsYXRlT2Zmc2V0QW5kCiAKIH0KIAotI2VuZGlm
IC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShX
RUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9B
cnJheUJ1ZmZlclZpZXcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0FycmF5QnVmZmVyVmlldy5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXJWaWV3LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQs
NyArMjQsNyBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlv
bmFsPTNEX0NBTlZBU3xCTE9CLCBDdXN0b21Ub0pTLCBOb1N0YXRpY1RhYmxlcywgT21pdENvbnN0
cnVjdG9yXSBBcnJheUJ1ZmZlclZpZXcgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VC
R0x8QkxPQiwgQ3VzdG9tVG9KUywgTm9TdGF0aWNUYWJsZXMsIE9taXRDb25zdHJ1Y3Rvcl0gQXJy
YXlCdWZmZXJWaWV3IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFycmF5QnVmZmVyIGJ1
ZmZlcjsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYnl0ZU9mZnNl
dDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgYnl0ZUxlbmd0aDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5jcHAJKHJldmlzaW9uIDc2
NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRGF0YVZpZXcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVO
QUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5B
QkxFKEJMT0IpCiAKICNpbmNsdWRlICJEYXRhVmlldy5oIgogCkBAIC0yMzIsNCArMjMyLDQgQEAg
dm9pZCBEYXRhVmlldzo6c2V0RmxvYXQ2NCh1bnNpZ25lZCBieXRlTwogCiB9CiAKLSNlbmRpZiAv
LyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VC
R0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRGF0
YVZpZXcuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFW
aWV3LmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9E
YXRhVmlldy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIG1vZHVsZSBodG1s
IHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9C
LAorICAgICAgICBDb25kaXRpb25hbD1XRUJHTHxCTE9CLAogICAgICAgICBDYW5CZUNvbnN0cnVj
dGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgQ3VzdG9tVG9K
UywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmNwcAko
cmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJy
YXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRlICJjb25m
aWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJM
RShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJGbG9hdDMyQXJyYXkuaCIKIApA
QCAtNjQsNCArNjQsNCBAQCBQYXNzUmVmUHRyPEZsb2F0MzJBcnJheT4gRmxvYXQzMkFycmF5Ojpz
CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAgICAgaW50ZXJmYWNlIFsKLSAgICAg
ICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsCisgICAgICAgIENvbmRpdGlvbmFsPVdFQkdM
fEJMT0IsCiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVj
dEZ1bmN0aW9uLAogICAgICAgICBWOEN1c3RvbUNvbnN0cnVjdG9yLApJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZB
UykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIAog
I2luY2x1ZGUgIkludDhBcnJheS5oIgogCkBAIC02NCw0ICs2NCw0IEBAIFBhc3NSZWZQdHI8SW50
OEFycmF5PiBJbnQ4QXJyYXk6OnNsaWNlKGkKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NB
TlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUo
QkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbAkocmV2
aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRs
CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKIG1vZHVsZSBodG1sIHsKICAgICBp
bnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQiwKKyAgICAgICAg
Q29uZGl0aW9uYWw9V0VCR0x8QkxPQiwKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAg
ICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3Is
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5LmNwcAkocmV2aXNp
b24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQxNkFycmF5LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAK
LSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wp
IHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAiSW50MTZBcnJheS5oIgogCkBAIC02Myw0ICs2
Myw0IEBAIFBhc3NSZWZQdHI8SW50MTZBcnJheT4gSW50MTZBcnJheTo6c2xpY2UKIAogfQogCi0j
ZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5B
QkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0ludDE2QXJyYXkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0ludDE2QXJyYXkuaWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBA
CiAKIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD0z
RF9DQU5WQVN8QkxPQiwKKyAgICAgICAgQ29uZGl0aW9uYWw9V0VCR0x8QkxPQiwKICAgICAgICAg
Q2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAg
ICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9JbnQzMkFycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9JbnQzMkFycmF5LmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9JbnQzMkFycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUo
QkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAiSW50
MzJBcnJheS5oIgogCkBAIC02NCw0ICs2NCw0IEBAIFBhc3NSZWZQdHI8SW50MzJBcnJheT4gSW50
MzJBcnJheTo6c2xpY2UKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5B
QkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsCShyZXZpc2lvbiA3NjUz
MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZhY2Ug
WwotICAgICAgICBDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQiwKKyAgICAgICAgQ29uZGl0aW9u
YWw9V0VCR0x8QkxPQiwKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9t
Q29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRp
dmVzLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9P
RVNTdGFuZGFyZERlcml2YXRpdmVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBA
QAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVO
QUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaCIKIApAQCAt
NTEsNCArNTEsNCBAQCBQYXNzUmVmUHRyPE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXM+IE9FU1N0CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisj
ZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
T0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwJKHJldmlzaW9uIDc2NTMwKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0g
ICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsIE9taXRDb25zdHJ1Y3RvciwgRG9u
dENoZWNrRW51bXNdIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMgeworICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9V0VCR0wsIE9taXRDb25zdHJ1Y3RvciwgRG9udENoZWNrRW51bXNdIE9FU1N0YW5k
YXJkRGVyaXZhdGl2ZXMgewogICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgRlJBR01FTlRfU0hB
REVSX0RFUklWQVRJVkVfSElOVF9PRVMgPSAweDhCOEI7CiAgICAgfTsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAkocmV2aXNpb24g
NzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIK
IAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVkZSAi
T0VTVGV4dHVyZUZsb2F0LmgiCiAKQEAgLTUxLDQgKzUxLDQgQEAgUGFzc1JlZlB0cjxPRVNUZXh0
dXJlRmxvYXQ+IE9FU1RleHR1cmVGbAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbAkocmV2aXNp
b24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw2IEBACiAgKi8KIAogbW9kdWxlIGh0bWwg
ewotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29uc3RydWN0b3Jd
IE9FU1RleHR1cmVGbG9hdCB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJHTCwgT21p
dENvbnN0cnVjdG9yXSBPRVNUZXh0dXJlRmxvYXQgewogICAgIH07CiB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0Rf
Q0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9C
KQogCiAjaW5jbHVkZSAiVWludDhBcnJheS5oIgogCkBAIC02NCw0ICs2NCw0IEBAIFBhc3NSZWZQ
dHI8VWludDhBcnJheT4gVWludDhBcnJheTo6c2xpY2UKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxF
KDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBF
TkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXku
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXku
aWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4
QXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKIG1vZHVsZSBodG1s
IHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQiwK
KyAgICAgICAgQ29uZGl0aW9uYWw9V0VCR0x8QkxPQiwKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3Rl
ZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAgICAgICAgIFY4Q3VzdG9tQ29u
c3RydWN0b3IsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXku
Y3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQx
NkFycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBF
TkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAiVWludDE2QXJyYXkuaCIK
IApAQCAtNjQsNCArNjQsNCBAQCBQYXNzUmVmUHRyPFVpbnQxNkFycmF5PiBVaW50MTZBcnJheTo6
c2xpCiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQor
I2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAgICAgaW50ZXJmYWNlIFsKLSAgICAg
ICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsCisgICAgICAgIENvbmRpdGlvbmFsPVdFQkdM
fEJMT0IsCiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVj
dEZ1bmN0aW9uLAogICAgICAgICBWOEN1c3RvbUNvbnN0cnVjdG9yLApJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNE
X0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxP
QikKIAogI2luY2x1ZGUgIlVpbnQzMkFycmF5LmgiCiAKQEAgLTY0LDQgKzY0LDQgQEAgUGFzc1Jl
ZlB0cjxVaW50MzJBcnJheT4gVWludDMyQXJyYXk6OnNsaQogCiB9CiAKLSNlbmRpZiAvLyBFTkFC
TEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8
IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJy
YXkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFy
cmF5LmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9V
aW50MzJBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogbW9kdWxl
IGh0bWwgewogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZBU3xC
TE9CLAorICAgICAgICBDb25kaXRpb25hbD1XRUJHTHxCTE9CLAogICAgICAgICBDYW5CZUNvbnN0
cnVjdGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgVjhDdXN0
b21Db25zdHJ1Y3RvciwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQWN0
aXZlSW5mby5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xBY3RpdmVJbmZvLmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3
IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25h
bD0zRF9DQU5WQVMKKyAgICAgICAgQ29uZGl0aW9uYWw9V0VCR0wKICAgICBdIFdlYkdMQWN0aXZl
SW5mbyB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBpbnQgc2l6ZTsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGludCB0eXBlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZB
UykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJXZWJHTEJ1ZmZlci5oIgogCkBAIC0y
MDcsNCArMjA3LDQgQEAgdm9pZCBXZWJHTEJ1ZmZlcjo6Y2xlYXJDYWNoZWRNYXhJbmRpY2VzKAog
CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJH
TCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGwJKHJl
dmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw2IEBACiAgKi8KIAogbW9kdWxlIGh0bWwg
ewotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTXSBXZWJHTEJ1ZmZlciB7Cisg
ICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJHTF0gV2ViR0xCdWZmZXIgewogICAgIH07CiB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRl
eHRBdHRyaWJ1dGVzLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NyArMjYsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFT
KQorI2lmIEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMu
aCIKIApAQCAtMTE0LDQgKzExNCw0IEBAIEdyYXBoaWNzQ29udGV4dDNEOjpBdHRyaWJ1dGVzIFdl
YkdMQ29udGUKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNE
X0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbAkocmV2aXNp
b24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRy
aWJ1dGVzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUgaHRt
bCB7CiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLAorICAg
ICAgICBDb25kaXRpb25hbD1XRUJHTCwKICAgICAgICAgT21pdENvbnN0cnVjdG9yCiAgICAgXSBX
ZWJHTENvbnRleHRBdHRyaWJ1dGVzIHsKICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gYWxwaGE7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZl
bnQuaWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEV2ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiBt
b2R1bGUgaHRtbCB7CiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9M0RfQ0FO
VkFTLAorICAgICAgICBDb25kaXRpb25hbD1XRUJHTCwKICAgICBdIFdlYkdMQ29udGV4dEV2ZW50
IDogRXZlbnQgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0YXR1c01l
c3NhZ2U7CiAgICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgaW5pdEV2ZW50KGluIERP
TVN0cmluZyBldmVudFR5cGVBcmcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEV4dGVuc2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xFeHRlbnNpb24uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyAr
MjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQor
I2lmIEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIldlYkdMRXh0ZW5zaW9uLmgiCiAKQEAgLTQx
LDQgKzQxLDQgQEAgV2ViR0xFeHRlbnNpb246On5XZWJHTEV4dGVuc2lvbigpCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8g
RU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFt
ZWJ1ZmZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xGcmFtZWJ1ZmZlci5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1
LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNp
ZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJXZWJHTEZyYW1lYnVmZmVyLmgiCiAKQEAgLTM1
NCw0ICszNTQsNCBAQCBib29sIFdlYkdMRnJhbWVidWZmZXI6OmluaXRpYWxpemVSZW5kZXJiCiAK
IH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdM
KQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZl
ci5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xGcmFtZWJ1ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDYgQEAKICAqLwog
CiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVNdIFdl
YkdMRnJhbWVidWZmZXIgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VCR0xdIFdlYkdM
RnJhbWVidWZmZXIgewogICAgIH07CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTEdldEluZm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMR2V0SW5mby5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xHZXRJbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lm
IEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIldlYkdMR2V0SW5mby5oIgogCkBAIC0yMjksNCAr
MjI5LDQgQEAgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBXZWJHTEdldEluZm86OmdldAogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlm
IC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TE9iamVjdC5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdF
QkdMKQogCiAjaW5jbHVkZSAiV2ViR0xPYmplY3QuaCIKIApAQCAtNjgsNCArNjgsNCBAQCB2b2lk
IFdlYkdMT2JqZWN0OjpkZWxldGVPYmplY3QoKQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0Rf
Q0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5W
QVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVkZSAiV2ViR0xQcm9ncmFtLmgiCiAKQEAg
LTE1Nyw0ICsxNTcsNCBAQCBib29sIFdlYkdMUHJvZ3JhbTo6ZGV0YWNoU2hhZGVyKFdlYkdMU2hh
CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdF
QkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaWRs
CShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJv
Z3JhbS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDYgQEAKICAqLwogCiBtb2R1bGUg
aHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVNdIFdlYkdMUHJvZ3Jh
bSB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJHTF0gV2ViR0xQcm9ncmFtIHsKICAg
ICB9OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZm
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyYnVmZmVyLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBF
TkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJXZWJHTFJlbmRlcmJ1ZmZlci5oIgogCkBAIC01Nyw0
ICs1Nyw0IEBAIHZvaWQgV2ViR0xSZW5kZXJidWZmZXI6OmRlbGV0ZU9iamVjdEltcGwKIAogfQog
Ci0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIu
aWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyYnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBAQAogICovCiAK
IG1vZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2Vi
R0xSZW5kZXJidWZmZXIgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VCR0xdIFdlYkdM
UmVuZGVyYnVmZmVyIHsKICAgICB9OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCShyZXZpc2lvbiA3NjUzMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJX
ZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKIApAQCAtNDYyNSw0ICs0NjI1LDQgQEAgdm9pZCBXZWJH
TFJlbmRlcmluZ0NvbnRleHQ6OkxSVUltYWdlQnVmZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsy
Niw3IEBACiBtb2R1bGUgaHRtbCB7CiAKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRp
b25hbD0zRF9DQU5WQVMsCisgICAgICAgIENvbmRpdGlvbmFsPVdFQkdMLAogICAgICAgICBJbnRl
cmZhY2VVVUlEPTk4ZmI0OGFlLTcyMTYtNDg5Yy04NjJiLThlMTIxN2ZjNDQ0MywKICAgICAgICAg
SW1wbGVtZW50YXRpb25VVUlEPWFiNGYwNzgxLTE1MmYtNDUwZS05NTQ2LTViMzk4NzQ5MWE1NCwK
ICAgICAgICAgQ3VzdG9tTWFya0Z1bmN0aW9uLApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xTaGFkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMU2hhZGVyLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFNoYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1
LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNp
ZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJXZWJHTFNoYWRlci5oIgogCkBAIC01Miw0ICs1
Miw0IEBAIHZvaWQgV2ViR0xTaGFkZXI6OmRlbGV0ZU9iamVjdEltcGwoUGxhdGYKIAogfQogCi0j
ZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNoYWRlci5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTaGFkZXIuaWRsCShyZXZpc2lvbiA3
NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2hhZGVyLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBp
bnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2ViR0xTaGFkZXIgeworICAgIGludGVy
ZmFjZSBbQ29uZGl0aW9uYWw9V0VCR0xdIFdlYkdMU2hhZGVyIHsKICAgICB9OwogfQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwCShyZXZpc2lvbiA3
NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0j
aWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJXZWJH
TFRleHR1cmUuaCIKIApAQCAtMzUzLDQgKzM1Myw0IEBAIGNvbnN0IFdlYkdMVGV4dHVyZTo6TGV2
ZWxJbmZvKiBXZWJHTFRleHQKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFRleHR1cmUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVGV4dHVyZS5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xUZXh0dXJlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBA
QAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NB
TlZBU10gV2ViR0xUZXh0dXJlIHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVdFQkdMXSBX
ZWJHTFRleHR1cmUgewogICAgIH07CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNp
ZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIldlYkdM
VW5pZm9ybUxvY2F0aW9uLmgiCiAKQEAgLTY0LDQgKzY0LDQgQEAgR0MzRGludCBXZWJHTFVuaWZv
cm1Mb2NhdGlvbjo6bG9jYXRpb24oKQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFT
KQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwJKHJldmlzaW9uIDc2NTMwKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw2IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAg
IGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTXSBXZWJHTFVuaWZvcm1Mb2NhdGlvbiB7
CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJHTF0gV2ViR0xVbmlmb3JtTG9jYXRpb24g
ewogICAgIH07CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJLaXRMb3Nl
Q29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
S2l0TG9zZUNvbnRleHQuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyAr
MjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQor
I2lmIEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIldlYktpdExvc2VDb250ZXh0LmgiCiAKQEAg
LTYwLDQgKzYwLDQgQEAgdm9pZCBXZWJLaXRMb3NlQ29udGV4dDo6bG9zZUNvbnRleHQoKQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YktpdExvc2VDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJLaXRMb3NlQ29udGV4dC5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw3ICsyNCw3IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9M0RfQ0FOVkFTLCBPbWl0Q29uc3RydWN0b3JdIFdlYktpdExvc2VDb250ZXh0IHsK
KyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVdFQkdMLCBPbWl0Q29uc3RydWN0b3JdIFdlYktp
dExvc2VDb250ZXh0IHsKICAgICAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCBsb3NlQ29u
dGV4dCgpOwogICAgIH07CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCShyZXZp
c2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtNDkyLDI4ICs0OTIsMjggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0
dHJpYnV0ZSBDYW52YXNHcmFkaWVudENvbnN0cnVjdG9yIENhbnZhc0dyYWRpZW50OwogICAgICAg
ICBhdHRyaWJ1dGUgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ29uc3RydWN0b3IgQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOwogICAgICAgICBhdHRyaWJ1dGUgSW1hZ2VEYXRhQ29uc3RydWN0b3Ig
SW1hZ2VEYXRhOwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBUyxFbmFi
bGVkQXRSdW50aW1lXSBXZWJHTEFjdGl2ZUluZm9Db25zdHJ1Y3RvciBXZWJHTEFjdGl2ZUluZm87
Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1bnRp
bWVdIFdlYkdMQnVmZmVyQ29uc3RydWN0b3IgV2ViR0xCdWZmZXI7Ci0gICAgICAgIGF0dHJpYnV0
ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVdIFdlYkdMRnJhbWVidWZm
ZXJDb25zdHJ1Y3RvciBXZWJHTEZyYW1lYnVmZmVyOwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRp
dGlvbmFsPTNEX0NBTlZBUyxFbmFibGVkQXRSdW50aW1lXSBXZWJHTFByb2dyYW1Db25zdHJ1Y3Rv
ciBXZWJHTFByb2dyYW07Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFT
LEVuYWJsZWRBdFJ1bnRpbWVdIFdlYkdMUmVuZGVyYnVmZmVyQ29uc3RydWN0b3IgV2ViR0xSZW5k
ZXJidWZmZXI7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVuYWJs
ZWRBdFJ1bnRpbWVdIFdlYkdMUmVuZGVyaW5nQ29udGV4dENvbnN0cnVjdG9yIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDsKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5h
YmxlZEF0UnVudGltZV0gV2ViR0xTaGFkZXJDb25zdHJ1Y3RvciBXZWJHTFNoYWRlcjsKLSAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gV2Vi
R0xUZXh0dXJlQ29uc3RydWN0b3IgV2ViR0xUZXh0dXJlOwotICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPTNEX0NBTlZBUyxFbmFibGVkQXRSdW50aW1lXSBXZWJHTFVuaWZvcm1Mb2NhdGlv
bkNvbnN0cnVjdG9yIFdlYkdMVW5pZm9ybUxvY2F0aW9uOworICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPVdFQkdMLEVuYWJsZWRBdFJ1bnRpbWVdIFdlYkdMQWN0aXZlSW5mb0NvbnN0cnVj
dG9yIFdlYkdMQWN0aXZlSW5mbzsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJH
TCxFbmFibGVkQXRSdW50aW1lXSBXZWJHTEJ1ZmZlckNvbnN0cnVjdG9yIFdlYkdMQnVmZmVyOwor
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMLEVuYWJsZWRBdFJ1bnRpbWVdIFdl
YkdMRnJhbWVidWZmZXJDb25zdHJ1Y3RvciBXZWJHTEZyYW1lYnVmZmVyOworICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMLEVuYWJsZWRBdFJ1bnRpbWVdIFdlYkdMUHJvZ3JhbUNv
bnN0cnVjdG9yIFdlYkdMUHJvZ3JhbTsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1X
RUJHTCxFbmFibGVkQXRSdW50aW1lXSBXZWJHTFJlbmRlcmJ1ZmZlckNvbnN0cnVjdG9yIFdlYkdM
UmVuZGVyYnVmZmVyOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMLEVuYWJs
ZWRBdFJ1bnRpbWVdIFdlYkdMUmVuZGVyaW5nQ29udGV4dENvbnN0cnVjdG9yIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJHTCxFbmFibGVk
QXRSdW50aW1lXSBXZWJHTFNoYWRlckNvbnN0cnVjdG9yIFdlYkdMU2hhZGVyOworICAgICAgICBh
dHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMLEVuYWJsZWRBdFJ1bnRpbWVdIFdlYkdMVGV4dHVy
ZUNvbnN0cnVjdG9yIFdlYkdMVGV4dHVyZTsKKyAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25h
bD1XRUJHTCxFbmFibGVkQXRSdW50aW1lXSBXZWJHTFVuaWZvcm1Mb2NhdGlvbkNvbnN0cnVjdG9y
IFdlYkdMVW5pZm9ybUxvY2F0aW9uOwogICAgICAgICBhdHRyaWJ1dGUgVGV4dE1ldHJpY3NDb25z
dHJ1Y3RvciBUZXh0TWV0cmljczsKIAogICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nTWFwQ29u
c3RydWN0b3IgRE9NU3RyaW5nTWFwOwogCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0
dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEFycmF5QnVm
ZmVyQ29uc3RydWN0b3IgQXJyYXlCdWZmZXI7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgot
ICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVN8
QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQ4QXJyYXlDb25zdHJ1Y3RvciBJbnQ4QXJyYXk7IC8v
IFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdl
dHRlcixDb25kaXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBVaW50OEFy
cmF5Q29uc3RydWN0b3IgVWludDhBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCi0g
ICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xC
TE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEludDE2QXJyYXlDb25zdHJ1Y3RvciBJbnQxNkFycmF5OyAv
LyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21H
ZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gVWludDE2
QXJyYXlDb25zdHJ1Y3RvciBVaW50MTZBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9y
Ci0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZB
U3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEludDMyQXJyYXlDb25zdHJ1Y3RvciBJbnQzMkFycmF5
OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0
b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gVWlu
dDMyQXJyYXlDb25zdHJ1Y3RvciBVaW50MzJBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJh
dG9yCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NB
TlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEZsb2F0MzJBcnJheUNvbnN0cnVjdG9yIEZsb2F0
MzJBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0ZSBb
SlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRp
bWVdIERhdGFWaWV3Q29uc3RydWN0b3IgRGF0YVZpZXc7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVy
YXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD1XRUJH
THxCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEFycmF5QnVmZmVyQ29uc3RydWN0b3IgQXJyYXlCdWZm
ZXI7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1
c3RvbUdldHRlcixDb25kaXRpb25hbD1XRUJHTHxCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEludDhB
cnJheUNvbnN0cnVjdG9yIEludDhBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisg
ICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPVdFQkdMfEJMT0Is
RW5hYmxlZEF0UnVudGltZV0gVWludDhBcnJheUNvbnN0cnVjdG9yIFVpbnQ4QXJyYXk7IC8vIFVz
YWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRl
cixDb25kaXRpb25hbD1XRUJHTHxCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEludDE2QXJyYXlDb25z
dHJ1Y3RvciBJbnQxNkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAg
YXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VCR0x8QkxPQixFbmFibGVk
QXRSdW50aW1lXSBVaW50MTZBcnJheUNvbnN0cnVjdG9yIFVpbnQxNkFycmF5OyAvLyBVc2FibGUg
d2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29u
ZGl0aW9uYWw9V0VCR0x8QkxPQixFbmFibGVkQXRSdW50aW1lXSBJbnQzMkFycmF5Q29uc3RydWN0
b3IgSW50MzJBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJp
YnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPVdFQkdMfEJMT0IsRW5hYmxlZEF0UnVu
dGltZV0gVWludDMyQXJyYXlDb25zdHJ1Y3RvciBVaW50MzJBcnJheTsgLy8gVXNhYmxlIHdpdGgg
bmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlv
bmFsPVdFQkdMfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gRmxvYXQzMkFycmF5Q29uc3RydWN0b3Ig
RmxvYXQzMkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmli
dXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VCR0x8QkxPQixFbmFibGVkQXRSdW50
aW1lXSBEYXRhVmlld0NvbnN0cnVjdG9yIERhdGFWaWV3OyAvLyBVc2FibGUgd2l0aCBuZXcgb3Bl
cmF0b3IKIAogICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD1X
RUJfQVVESU8sRW5hYmxlZEF0UnVudGltZV0gQXVkaW9Db250ZXh0Q29uc3RydWN0b3Igd2Via2l0
QXVkaW9Db250ZXh0OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0cmli
dXRlIFtDb25kaXRpb25hbD1XRUJfQVVESU9dIEF1ZGlvUGFubmVyTm9kZUNvbnN0cnVjdG9yIHdl
YmtpdEF1ZGlvUGFubmVyTm9kZTsgLy8gTmVlZGVkIGZvciBwYW5uaW5nIG1vZGVsIGNvbnN0YW50
cwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlk
Z2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0FO
R0xFV2ViS2l0QnJpZGdlLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJyaWRnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NB
TlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJBTkdMRVdlYktpdEJyaWRnZS5o
IgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgpAQCAtMTE3LDQgKzExNyw0IEBAIGJvb2wg
QU5HTEVXZWJLaXRCcmlkZ2U6OnZhbGlkYXRlU2hhZGVyU28KIAogfQogCi0jZW5kaWYgLy8gRU5B
QkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3Bw
CShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShX
RUJHTCkKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAKQEAgLTE0MzcsNCArMTQz
Nyw0IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OnBhY2tQaXhlbHMoY29uc3QKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9HcmFwaGljc0NvbnRleHQzRENHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHQzRENHLmNwcAkocmV2aXNpb24gNzY1
MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHQzRENHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIAog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
Q0cuaCIKQEAgLTI1NCw0ICsyNTQsNCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpwYWludFRv
Q2FudmFzKGNvCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgz
RF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmNwcAkocmV2
aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJh
d2luZ0J1ZmZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1
ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykgfHwgRU5B
QkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSB8fCBFTkFC
TEUoV0VCR0wpCiAKICNpbmNsdWRlICJEcmF3aW5nQnVmZmVyLmgiCiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9tYWMvRHJhd2luZ0J1ZmZlck1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvbWFjL0RyYXdp
bmdCdWZmZXJNYWMubW0JKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L21hYy9EcmF3aW5nQnVmZmVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShBQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpIHx8IEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKEFDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgfHwgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVkZSAiRHJhd2luZ0J1
ZmZlci5oIgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3Jh
cGhpY3NDb250ZXh0M0RNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCShyZXZpc2lvbiA3NjUzMCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQz
RE1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIAogI2lu
Y2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAKQEAgLTI0Nyw0ICsyNDcsNCBAQCBib29sIEdy
YXBoaWNzQ29udGV4dDNEOjppc0dMRVMyQ29tcGxpYW50CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJM
RSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5ZXIubW0JKHJldmlzaW9u
IDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1dlYkdMTGF5
ZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSNpZiBFTkFCTEUoM0RfQ0FO
VkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIAogI2ltcG9ydCAiV2ViR0xMYXllci5oIgogCkBAIC0x
NjMsNSArMTYzLDUgQEAgLShHcmFwaGljc0xheWVyKilsYXllck93bmVyCiAKIEBlbmQKIAotI2Vu
ZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQogI2VuZGlm
IC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RP
cGVuR0wuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5W
QVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVkZSAiRXh0ZW5zaW9uczNET3BlbkdMLmgi
CiAKQEAgLTEyNSw0ICsxMjUsNCBAQCB2b2lkIEV4dGVuc2lvbnMzRE9wZW5HTDo6cmVuZGVyYnVm
ZmVyU3RvCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9D
QU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0wuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYg
RU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJHcmFwaGlj
c0NvbnRleHQzRC5oIgogCkBAIC0xNDczLDQgKzE0NzMsNCBAQCBFeHRlbnNpb25zM0QqIEdyYXBo
aWNzQ29udGV4dDNEOjpnZXRFeHRlCiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMp
CisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0V4dGVuc2lvbnMzRFF0LmNwcAkocmV2aXNpb24gNzY1
MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9FeHRlbnNpb25zM0RR
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNs
dWRlICJFeHRlbnNpb25zM0RRdC5oIgogCkBAIC01OCw0ICs1OCw0IEBAIGludCBFeHRlbnNpb25z
M0RRdDo6Z2V0R3JhcGhpY3NSZXNldFN0YXQKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0j
ZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0NvbnRleHQzRFF0LmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYg
RU5BQkxFKFdFQkdMKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTE2NzEsNCArMTY3MSw0
IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OmdldEltYWdlRGF0YShJbWEKIAogfQogCi0jZW5k
aWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
TGF5ZXJRdC5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA1LDcg
KzMwNSw3IEBAIHB1YmxpYzoKICAgICAgICAgfQogICAgIH0gbV9zdGF0ZTsKIAotI2lmIEVOQUJM
RSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogICAgIGNvbnN0IEdyYXBoaWNzQ29udGV4
dDNEKiBtX2djM0Q7CiAjZW5kaWYKIApAQCAtMzM1LDcgKzMzNSw3IEBAIEdyYXBoaWNzTGF5ZXJR
dEltcGw6OkdyYXBoaWNzTGF5ZXJRdEltcGwKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9S
RSkKICAgICAsIG1fdGlsZWRCYWNraW5nU3RvcmUoMCkKICNlbmRpZgotI2lmIEVOQUJMRSgzRF9D
QU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogICAgICwgbV9nYzNEKDApCiAjZW5kaWYKIHsKQEAg
LTY0Nyw3ICs2NDcsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJRdEltcGw6OnBhaW50KFFQYWludGVy
CiAgICAgY2FzZSBNZWRpYUNvbnRlbnRUeXBlOgogICAgICAgICAvLyB3ZSBkb24ndCBuZWVkIHRv
IHBhaW50IGFueXRoaW5nOiB3ZSBoYXZlIGEgUUdyYXBoaWNzSXRlbSBmcm9tIHRoZSBtZWRpYSBl
bGVtZW50CiAgICAgICAgIGJyZWFrOwotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxF
KFdFQkdMKQogICAgIGNhc2UgQ2FudmFzM0RDb250ZW50VHlwZToKICAgICAgICAgbV9nYzNELT5w
YWludChwYWludGVyLCBvcHRpb24tPnJlY3QpOwogICAgICAgICBicmVhazsKQEAgLTc5MSw3ICs3
OTEsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJRdEltcGw6OmZsdXNoQ2hhbmdlcyhiCiAgICAgICAg
ICAgICBzZXRGbGFnKEl0ZW1IYXNOb0NvbnRlbnRzLCAhbV9sYXllci0+ZHJhd3NDb250ZW50KCkp
OwogICAgICAgICAgICAgYnJlYWs7CiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJM
RShXRUJHTCkKICAgICAgICAgY2FzZSBDYW52YXMzRENvbnRlbnRUeXBlOgogICAgICAgICAgICAg
aWYgKG1fcGVuZGluZ0NvbnRlbnQuY29udGVudFR5cGUgIT0gbV9jdXJyZW50Q29udGVudC5jb250
ZW50VHlwZSkKICAgICAgICAgICAgICAgICB1cGRhdGUoKTsKQEAgLTEyNTAsNyArMTI1MCw3IEBA
IHZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRDb250ZW50c0JhY2tncm8KICAgICBHcmFwaGljc0xh
eWVyOjpzZXRDb250ZW50c0JhY2tncm91bmRDb2xvcihjb2xvcik7CiB9CiAKLSNpZiBFTkFCTEUo
M0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIHZvaWQgR3JhcGhpY3NMYXllclF0OjpzZXRD
b250ZW50c1RvR3JhcGhpY3NDb250ZXh0M0QoY29uc3QgR3JhcGhpY3NDb250ZXh0M0QqIGN0eCkK
IHsKICAgICBpZiAoY3R4ID09IG1faW1wbC0+bV9nYzNEKQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmgJKHJldmlz
aW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NMYXllclF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKICNpZm5kZWYgR3Jh
cGhpY3NMYXllclF0X2gKICNkZWZpbmUgR3JhcGhpY3NMYXllclF0X2gKIAotI2lmIEVOQUJMRSgz
RF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNE
LmgiCiAjZW5kaWYKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCkBAIC03OSw3ICs3OSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNOZWVkc0Rpc3BsYXkoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIqKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImKTsKLSNp
ZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICAgICB2aXJ0dWFsIHZvaWQg
c2V0Q29udGVudHNUb0dyYXBoaWNzQ29udGV4dDNEKGNvbnN0IEdyYXBoaWNzQ29udGV4dDNEKik7
CiAgICAgdmlydHVhbCB2b2lkIHNldEdyYXBoaWNzQ29udGV4dDNETmVlZHNEaXNwbGF5KCk7CiAj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhp
Y3NDb250ZXh0M0RTa2lhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dDNEU2tpYS5jcHAJKHJldmlzaW9uIDc2NTMw
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRl
eHQzRFNraWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQog
CiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIKIApAQCAtODcsNCArODcsNCBAQCBib29s
IEdyYXBoaWNzQ29udGV4dDNEOjpnZXRJbWFnZURhdGEoSW1hCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdF
QkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBo
aWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmgJKHJldmlz
aW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcg
QEAKICNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJOb2RlLmgiCiAK
LSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHQzRC5oIgogI2VuZGlmCiAKQEAgLTczLDcgKzczLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1RvSW1hZ2UoSW1hZ2UqKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0Q29udGVudHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQg
c2V0Q29udGVudHNCYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImKTsKLSNpZiBFTkFCTEUoM0Rf
Q0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNU
b0dyYXBoaWNzQ29udGV4dDNEKGNvbnN0IEdyYXBoaWNzQ29udGV4dDNEKik7CiAgICAgdmlydHVh
bCB2b2lkIHNldEdyYXBoaWNzQ29udGV4dDNETmVlZHNEaXNwbGF5KCk7CiAjZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCShy
ZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIHN0YXRpYyBJbnRSZWN0
IGNsaXBCb3goUmVuZGVyQm94KiByZW5kZXIKIAogc3RhdGljIGlubGluZSBib29sIGlzQWNjZWxl
cmF0ZWRDYW52YXMoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIHsKLSNpZiBFTkFCTEUoM0RfQ0FO
VkFTKSB8fCBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkg
fHwgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKICAgICBpZiAocmVuZGVyZXItPmlzQ2Fu
dmFzKCkpIHsKICAgICAgICAgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcyA9IHN0YXRpY19jYXN0
PEhUTUxDYW52YXNFbGVtZW50Kj4ocmVuZGVyZXItPm5vZGUoKSk7CiAgICAgICAgIGlmIChDYW52
YXNSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gY2FudmFzLT5yZW5kZXJpbmdDb250ZXh0KCkp
CkBAIC0yODcsNyArMjg3LDcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBo
aWNzTAogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzVG9NZWRpYShtZWRpYUVs
ZW1lbnQtPnBsYXRmb3JtTGF5ZXIoKSk7CiAgICAgfQogI2VuZGlmCi0jaWYgRU5BQkxFKDNEX0NB
TlZBUykgfHwgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wp
IHx8IEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpCiAgICAgZWxzZSBpZiAoaXNBY2NlbGVy
YXRlZENhbnZhcyhyZW5kZXJlcikpIHsKICAgICAgICAgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZh
cyA9IHN0YXRpY19jYXN0PEhUTUxDYW52YXNFbGVtZW50Kj4ocmVuZGVyZXItPm5vZGUoKSk7CiAg
ICAgICAgIGlmIChDYW52YXNSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0ID0gY2FudmFzLT5yZW5k
ZXJpbmdDb250ZXh0KCkpCkBAIC04MDMsNyArODAzLDcgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tp
bmc6OmNvbnRhaW5zUGFpbnRlZAogICAgICAgICByZXR1cm4gaGFzQm94RGVjb3JhdGlvbnNPckJh
Y2tncm91bmQocmVuZGVyZXIoKSk7CiAjZW5kaWYKICNpZiBQTEFURk9STShNQUMpICYmIFBMQVRG
T1JNKENBKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9USUdFUikgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQotI2Vs
aWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKKyNl
bGlmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKICAgICBp
ZiAoaXNBY2NlbGVyYXRlZENhbnZhcyhyZW5kZXJlcigpKSkKICAgICAgICAgcmV0dXJuIGhhc0Jv
eERlY29yYXRpb25zT3JCYWNrZ3JvdW5kKHJlbmRlcmVyKCkpOwogI2VuZGlmCkBAIC04NDMsNyAr
ODQzLDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmNvbnRlbnRDaGFuZ2VkKAogICAgICAg
ICB1cGRhdGVBZnRlckxheW91dChDb21wb3NpdGluZ0NoaWxkcmVuLCBpc1VwZGF0ZVJvb3QpOwog
ICAgIH0KIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFT
KQogICAgIGlmICgoY2hhbmdlVHlwZSA9PSBSZW5kZXJMYXllcjo6Q2FudmFzQ2hhbmdlZCkgJiYg
aXNBY2NlbGVyYXRlZENhbnZhcyhyZW5kZXJlcigpKSkgewogICAgICAgICBtX2dyYXBoaWNzTGF5
ZXItPnNldENvbnRlbnRzTmVlZHNEaXNwbGF5KCk7CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0J1ZmZlci5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysg
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9CdWZmZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShXRUJf
QVVESU8pICYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCX0FVRElPKSAmIEVOQUJM
RShXRUJHTCkKIAogI2luY2x1ZGUgIkF1ZGlvQnVmZmVyLmgiCiAKQEAgLTEwNyw0ICsxMDcsNCBA
QCB2b2lkIEF1ZGlvQnVmZmVyOjp6ZXJvKCkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0j
ZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykgJiBFTkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8v
IEVOQUJMRShXRUJfQVVESU8pICYgRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dl
YmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpby9BdWRpb0J1ZmZlci5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcg
QEAKIAogbW9kdWxlIGF1ZGlvIHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25h
bD1XRUJfQVVESU8gJiAzRF9DQU5WQVMKKyAgICAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPICYg
V0VCR0wKICAgICBdIEF1ZGlvQnVmZmVyIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxv
bmcgbGVuZ3RoOyAvLyBpbiBzYW1wbGUtZnJhbWVzCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBmbG9hdCBkdXJhdGlvbjsgLy8gaW4gc2Vjb25kcwpJbmRleDogU291cmNlL1dlYkNvcmUvd2Vi
YXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNl
L1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJBdWRpb1V0aWxpdGllcy5oIgogI2luY2x1ZGUgIkZG
VEZyYW1lLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICNp
bmNsdWRlICJGbG9hdDMyQXJyYXkuaCIKICNpbmNsdWRlICJVaW50OEFycmF5LmgiCiAjZW5kaWYK
QEAgLTE5Myw3ICsxOTMsNyBAQCB2b2lkIFJlYWx0aW1lQW5hbHlzZXI6OmRvRkZUQW5hbHlzaXMo
KQogICAgIH0KIH0KIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQog
CiB2b2lkIFJlYWx0aW1lQW5hbHlzZXI6OmdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMyQXJy
YXkqIGRlc3RpbmF0aW9uQXJyYXkpCiB7CkBAIC0yOTQsNyArMjk0LDcgQEAgdm9pZCBSZWFsdGlt
ZUFuYWx5c2VyOjpnZXRCeXRlVGltZURvbWFpbgogICAgIH0KIH0KIAotI2VuZGlmIC8vIDNEX0NB
TlZBUworI2VuZGlmIC8vIFdFQkdMCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApJbmRleDog
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAkocmV2aXNpb24gNzY1
MzApCisrKyBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQXVk
aW9CdXM7CiBjbGFzcyBGRlRGcmFtZTsKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5B
QkxFKFdFQkdMKQogY2xhc3MgRmxvYXQzMkFycmF5OwogY2xhc3MgVWludDhBcnJheTsKICNlbmRp
ZgpAQCAtNjEsNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTbW9vdGhpbmdUaW1lQ29u
c3RhbnQoZmxvYXQgaykgeyBtX3Ntb290aGluZ1RpbWVDb25zdGFudCA9IGs7IH0KICAgICBmbG9h
dCBzbW9vdGhpbmdUaW1lQ29uc3RhbnQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxmbG9h
dD4obV9zbW9vdGhpbmdUaW1lQ29uc3RhbnQpOyB9CiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQor
I2lmIEVOQUJMRShXRUJHTCkKICAgICB2b2lkIGdldEZsb2F0RnJlcXVlbmN5RGF0YShGbG9hdDMy
QXJyYXkqKTsKICAgICB2b2lkIGdldEJ5dGVGcmVxdWVuY3lEYXRhKFVpbnQ4QXJyYXkqKTsKICAg
ICB2b2lkIGdldEJ5dGVUaW1lRG9tYWluRGF0YShVaW50OEFycmF5Kik7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyTm9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXJOb2RlLmgJKHJldmlzaW9uIDc2
NTMwKQorKysgU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlck5vZGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTbW9v
dGhpbmdUaW1lQ29uc3RhbnQoZmxvYXQgaykgeyBtX2FuYWx5c2VyLnNldFNtb290aGluZ1RpbWVD
b25zdGFudChrKTsgfQogICAgIGZsb2F0IHNtb290aGluZ1RpbWVDb25zdGFudCgpIGNvbnN0IHsg
cmV0dXJuIG1fYW5hbHlzZXIuc21vb3RoaW5nVGltZUNvbnN0YW50KCk7IH0KIAotI2lmIEVOQUJM
RSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogICAgIHZvaWQgZ2V0RmxvYXRGcmVxdWVu
Y3lEYXRhKEZsb2F0MzJBcnJheSogYXJyYXkpIHsgbV9hbmFseXNlci5nZXRGbG9hdEZyZXF1ZW5j
eURhdGEoYXJyYXkpOyB9CiAgICAgdm9pZCBnZXRCeXRlRnJlcXVlbmN5RGF0YShVaW50OEFycmF5
KiBhcnJheSkgeyBtX2FuYWx5c2VyLmdldEJ5dGVGcmVxdWVuY3lEYXRhKGFycmF5KTsgfQogICAg
IHZvaWQgZ2V0Qnl0ZVRpbWVEb21haW5EYXRhKFVpbnQ4QXJyYXkqIGFycmF5KSB7IG1fYW5hbHlz
ZXIuZ2V0Qnl0ZVRpbWVEb21haW5EYXRhKGFycmF5KTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlck5vZGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXJOb2RlLmlkbAkocmV2aXNpb24gNzY1MzAp
CisrKyBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyTm9kZS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTM5LDEwICszOSwxMCBAQCBtb2R1bGUgYXVkaW8gewogICAgICAgICAK
ICAgICAgICAgLy8gQ29waWVzIHRoZSBjdXJyZW50IGZyZXF1ZW5jeSBkYXRhIGludG8gdGhlIHBh
c3NlZCBhcnJheS4KICAgICAgICAgLy8gSWYgdGhlIGFycmF5IGhhcyBmZXdlciBlbGVtZW50cyB0
aGFuIHRoZSBmcmVxdWVuY3lCaW5Db3VudCwgdGhlIGV4Y2VzcyBlbGVtZW50cyB3aWxsIGJlIGRy
b3BwZWQuCi0gICAgICAgIFtDb25kaXRpb25hbD0zRF9DQU5WQVNdIHZvaWQgZ2V0RmxvYXRGcmVx
dWVuY3lEYXRhKGluIEZsb2F0MzJBcnJheSBhcnJheSk7Ci0gICAgICAgIFtDb25kaXRpb25hbD0z
RF9DQU5WQVNdIHZvaWQgZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEoaW4gVWludDhBcnJheSBhcnJheSk7
CisgICAgICAgIFtDb25kaXRpb25hbD1XRUJHTF0gdm9pZCBnZXRGbG9hdEZyZXF1ZW5jeURhdGEo
aW4gRmxvYXQzMkFycmF5IGFycmF5KTsKKyAgICAgICAgW0NvbmRpdGlvbmFsPVdFQkdMXSB2b2lk
IGdldEJ5dGVGcmVxdWVuY3lEYXRhKGluIFVpbnQ4QXJyYXkgYXJyYXkpOwogCiAgICAgICAgIC8v
IFJlYWwtdGltZSB3YXZlZm9ybSBkYXRhCi0gICAgICAgIFtDb25kaXRpb25hbD0zRF9DQU5WQVNd
IHZvaWQgZ2V0Qnl0ZVRpbWVEb21haW5EYXRhKGluIFVpbnQ4QXJyYXkgYXJyYXkpOworICAgICAg
ICBbQ29uZGl0aW9uYWw9V0VCR0xdIHZvaWQgZ2V0Qnl0ZVRpbWVEb21haW5EYXRhKGluIFVpbnQ4
QXJyYXkgYXJyYXkpOwogICAgIH07CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjY5LDcgKzI2OSw3IEBAIEJsb2IqIFhNTEh0
dHBSZXF1ZXN0OjpyZXNwb25zZUJsb2IoRXhjZXAKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKDNE
X0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxP
QikKIEFycmF5QnVmZmVyKiBYTUxIdHRwUmVxdWVzdDo6cmVzcG9uc2VBcnJheUJ1ZmZlcihFeGNl
cHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAobV9yZXNwb25zZVR5cGVDb2RlICE9IFJlc3BvbnNl
VHlwZUFycmF5QnVmZmVyKSB7CkBAIC0zMTAsNyArMzEwLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVz
dDo6c2V0UmVzcG9uc2VUeXBlKGNvbgogICAgICAgICBtX3Jlc3BvbnNlVHlwZUNvZGUgPSBSZXNw
b25zZVR5cGVCbG9iOwogI2VuZGlmCiAgICAgfSBlbHNlIGlmIChyZXNwb25zZVR5cGUgPT0gImFy
cmF5YnVmZmVyIikgewotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lm
IEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAgICAgICAgIG1fcmVzcG9uc2VUeXBlQ29k
ZSA9IFJlc3BvbnNlVHlwZUFycmF5QnVmZmVyOwogI2VuZGlmCiAgICAgfSBlbHNlCkBAIC01ODQs
NyArNTg0LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChET01Gb3JtRGF0YSogYgogICAg
IGNyZWF0ZVJlcXVlc3QoZWMpOwogfQogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxF
KEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIHZvaWQgWE1MSHR0cFJl
cXVlc3Q6OnNlbmQoQXJyYXlCdWZmZXIqIGJvZHksIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAg
IGlmICghaW5pdFNlbmQoZWMpKQpAQCAtNzM3LDcgKzczNyw3IEBAIHZvaWQgWE1MSHR0cFJlcXVl
c3Q6OmNsZWFyUmVzcG9uc2UoKQogI2lmIEVOQUJMRShYSFJfUkVTUE9OU0VfQkxPQikKICAgICBt
X3Jlc3BvbnNlQmxvYiA9IDA7CiAjZW5kaWYKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFC
TEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogICAgIG1fYmluYXJ5
UmVzcG9uc2VCdWlsZGVyLmNsZWFyKCk7CiAgICAgbV9yZXNwb25zZUFycmF5QnVmZmVyLmNsZWFy
KCk7CiAjZW5kaWYKQEAgLTEwNzIsNyArMTA3Miw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRp
ZFJlY2VpdmVEYXRhKGNvbnMKIAogICAgIGlmICh1c2VEZWNvZGVyKQogICAgICAgICBtX3Jlc3Bv
bnNlQnVpbGRlci5hcHBlbmQobV9kZWNvZGVyLT5kZWNvZGUoZGF0YSwgbGVuKSk7Ci0jaWYgRU5B
QkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFC
TEUoQkxPQikKICAgICBlbHNlIGlmIChyZXNwb25zZVR5cGVDb2RlKCkgPT0gUmVzcG9uc2VUeXBl
QXJyYXlCdWZmZXIpIHsKICAgICAgICAgLy8gQnVmZmVyIGJpbmFyeSBkYXRhLgogICAgICAgICBp
ZiAoIW1fYmluYXJ5UmVzcG9uc2VCdWlsZGVyKQpJbmRleDogU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmgJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTk1LDcgKzk1LDcgQEAgcHVibGljOgogICAgIHZv
aWQgc2VuZChjb25zdCBTdHJpbmcmLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZW5kKEJs
b2IqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZW5kKERPTUZvcm1EYXRhKiwgRXhjZXB0
aW9uQ29kZSYpOwotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVO
QUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAgICAgdm9pZCBzZW5kKEFycmF5QnVmZmVyKiwg
RXhjZXB0aW9uQ29kZSYpOwogI2VuZGlmCiAgICAgdm9pZCBhYm9ydCgpOwpAQCAtMTE1LDcgKzEx
NSw3IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgcmVzcG9uc2VUeXBlKCk7CiAgICAgUmVzcG9uc2VU
eXBlQ29kZSByZXNwb25zZVR5cGVDb2RlKCkgY29uc3QgeyByZXR1cm4gbV9yZXNwb25zZVR5cGVD
b2RlOyB9CiAgICAgCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYg
RU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKICAgICAvLyByZXNwb25zZSBhdHRyaWJ1dGUg
aGFzIGN1c3RvbSBnZXR0ZXIuCiAgICAgQXJyYXlCdWZmZXIqIHJlc3BvbnNlQXJyYXlCdWZmZXIo
RXhjZXB0aW9uQ29kZSYpOwogICAgIEFycmF5QnVmZmVyKiBvcHRpb25hbFJlc3BvbnNlQXJyYXlC
dWZmZXIoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlQXJyYXlCdWZmZXIuZ2V0KCk7IH0KQEAg
LTIwNiw3ICsyMDYsNyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgYm9vbCBtX2NyZWF0ZWREb2N1
bWVudDsKICAgICBtdXRhYmxlIFJlZlB0cjxEb2N1bWVudD4gbV9yZXNwb25zZVhNTDsKICAgICAK
LSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wp
IHx8IEVOQUJMRShCTE9CKQogICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fYmluYXJ5UmVzcG9u
c2VCdWlsZGVyOwogICAgIG11dGFibGUgUmVmUHRyPEFycmF5QnVmZmVyPiBtX3Jlc3BvbnNlQXJy
YXlCdWZmZXI7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTQ5KQorKysgU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTEtMDEtMjQgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBFTkFCTEVfM0RfQ0FO
VkFTIHRvIEVOQUJMRV9XRUJHTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTMwNDEKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnOgorCiAyMDExLTAxLTI0ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBXaW5kb3dzIFByb2R1Y3Rpb24gYnVpbGQgZml4CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMzgsMTAgKzM4LDEwIEBAIEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4ID0gJCgKIEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVNfbWFjb3N4XzEwNjAgPSA7CiBFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
X21hY29zeF8xMDcwID0gOwogCi1FTkFCTEVfM0RfQ0FOVkFTID0gJChFTkFCTEVfM0RfQ0FOVkFT
XyQoUkVBTF9QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVfM0RfQ0FOVkFTX21hY29zeCA9ICQoRU5B
QkxFXzNEX0NBTlZBU19tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwot
RU5BQkxFXzNEX0NBTlZBU19tYWNvc3hfMTA2MCA9IEVOQUJMRV8zRF9DQU5WQVM7Ci1FTkFCTEVf
M0RfQ0FOVkFTX21hY29zeF8xMDcwID0gRU5BQkxFXzNEX0NBTlZBUzsKK0VOQUJMRV9XRUJHTCA9
ICQoRU5BQkxFX1dFQkdMXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CitFTkFCTEVfV0VCR0xfbWFj
b3N4ID0gJChFTkFCTEVfV0VCR0xfbWFjb3N4XyQoVEFSR0VUX01BQ19PU19YX1ZFUlNJT05fTUFK
T1IpKTsKK0VOQUJMRV9XRUJHTF9tYWNvc3hfMTA2MCA9IEVOQUJMRV9XRUJHTDsKK0VOQUJMRV9X
RUJHTF9tYWNvc3hfMTA3MCA9IEVOQUJMRV9XRUJHTDsKIAogRU5BQkxFXzNEX1JFTkRFUklORyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklOR18kKFJFQUxfUExBVEZPUk1fTkFNRSkpOwogRU5BQkxFXzNE
X1JFTkRFUklOR19pcGhvbmVvcyA9IEVOQUJMRV8zRF9SRU5ERVJJTkc7CkBAIC0xMjEsNCArMTIx
LDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBBVEggPSBFTkFCTEVfWFBBVEg7CiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFXzNE
X0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5B
QkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykg
JChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTUFHRV9SRVNJWkVS
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5B
QkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVURVJf
VEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNB
VElPTlMpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdF
KSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1Q
KSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChF
TkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJT
KSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0la
RVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRF
Ul9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUykgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykg
JChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1B
R0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1M
TVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCShyZXZpc2lvbiA3NjU0OSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDEtMjQgIENocmlz
IE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBFTkFCTEVfM0RfQ0FOVkFTIHRvIEVOQUJMRV9X
RUJHTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMw
NDEKKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogZmVhdHVyZXMuZ3lwaToKKyAg
ICAgICAgKiBzcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwOgorICAgICAgICAqIHNyYy9HcmFw
aGljc0NvbnRleHQzRENocm9taXVtLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1
cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVXZWJH
TCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNXZWJHTEVuYWJsZWQp
OgorCiAyMDExLTAxLTI0ICBaaGVueWFvIE1vICA8em1vQGdvb2dsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdC5neXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
CShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAko
d29ya2luZyBjb3B5KQpAQCAtNjYzLDcgKzY2Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAg
ICAnY2hyb21pdW1fY29kZSc6IDEsCiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9XSwKLSAgICAgICAgICAgICAgICBbJyJFTkFCTEVfM0RfQ0FOVkFTPTEiIGluIGZlYXR1
cmVfZGVmaW5lcycsIHsKKyAgICAgICAgICAgICAgICBbJyJFTkFCTEVfV0VCR0w9MSIgaW4gZmVh
dHVyZV9kZWZpbmVzJywgewogICAgICAgICAgICAgICAgICAgICAnY29uZGl0aW9ucyc6IFsKICAg
ICAgICAgICAgICAgICAgICAgICAgIFsnT1M9PSJtYWMiJywgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdsaW5rX3NldHRpbmdzJzogewpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1
bS9mZWF0dXJlcy5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVh
dHVyZXMuZ3lwaQkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL2Zl
YXR1cmVzLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAKICAgICAgICMgY2hy
b21pdW0gYnVpbGQsIG92ZXJyaWRlcyB0aGlzIGxpc3Qgd2l0aCBpdHMgb3duIHZhbHVlcy4gU2Vl
CiAgICAgICAjIGZlYXR1cmVzX292ZXJyaWRlLmd5cGkgaW5saW5lIGRvY3VtZW50YXRpb24gZm9y
IG1vcmUgZGV0YWlscy4KICAgICAgICdmZWF0dXJlX2RlZmluZXMnOiBbCi0gICAgICAgICdFTkFC
TEVfM0RfQ0FOVkFTPTEnLAorICAgICAgICAnRU5BQkxFX1dFQkdMPTEnLAogICAgICAgICAnRU5B
QkxFXzNEX1JFTkRFUklORz0xJywKICAgICAgICAgJ0VOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVM9MScsCiAgICAgICAgICdFTkFCTEVfQkxPQj0xJywKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlbnNpb25zM0RDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDc2
NTMwKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcu
aCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVk
ZSAiRXh0ZW5zaW9uczNEQ2hyb21pdW0uaCIKIApAQCAtODksNCArODksNCBAQCB2b2lkIEV4dGVu
c2lvbnMzRENocm9taXVtOjpjb3B5VGV4dHVyZVRvCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3ND
b250ZXh0M0RDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNE
X0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQz
RC5oIgogCkBAIC0xMDczLDQgKzEwNzMsNCBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjppc0dM
RVMyQ29tcGxpYW50CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCShyZXZpc2lvbiA3
NjUzMCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMiwxNCArMjAyLDE0IEBAIGJvb2wgV2ViUnVudGltZUZl
YXR1cmVzOjppc1dlYkF1ZGlvRW5hYmwKIAogdm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJs
ZVdlYkdMKGJvb2wgZW5hYmxlKQogewotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxF
KFdFQkdMKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYkdMRW5hYmxlZChlbmFi
bGUpOwogI2VuZGlmCiB9CiAKIGJvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc1dlYkdMRW5hYmxl
ZCgpCiB7Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAgICAgcmV0
dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OndlYkdMUmVuZGVyaW5nQ29udGV4dEVuYWJsZWQo
KTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNp
b24gNzY1NDkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMS0yNCAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hhbmdlIEVOQUJMRV8zRF9DQU5WQVMgdG8gRU5BQkxFX1dFQkdMCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzA0MQorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTEtMDEtMjMgIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKb2huIFN1bGxp
dmFuLgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcg
Y29weSkKQEAgLTM4LDEwICszOCwxMCBAQCBFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTX21h
Y29zeCA9ICQoCiBFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTX21hY29zeF8xMDYwID0gOwog
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBU19tYWNvc3hfMTA3MCA9IDsKIAotRU5BQkxFXzNE
X0NBTlZBUyA9ICQoRU5BQkxFXzNEX0NBTlZBU18kKFJFQUxfUExBVEZPUk1fTkFNRSkpOwotRU5B
QkxFXzNEX0NBTlZBU19tYWNvc3ggPSAkKEVOQUJMRV8zRF9DQU5WQVNfbWFjb3N4XyQoVEFSR0VU
X01BQ19PU19YX1ZFUlNJT05fTUFKT1IpKTsKLUVOQUJMRV8zRF9DQU5WQVNfbWFjb3N4XzEwNjAg
PSBFTkFCTEVfM0RfQ0FOVkFTOwotRU5BQkxFXzNEX0NBTlZBU19tYWNvc3hfMTA3MCA9IEVOQUJM
RV8zRF9DQU5WQVM7CitFTkFCTEVfV0VCR0wgPSAkKEVOQUJMRV9XRUJHTF8kKFJFQUxfUExBVEZP
Uk1fTkFNRSkpOworRU5BQkxFX1dFQkdMX21hY29zeCA9ICQoRU5BQkxFX1dFQkdMX21hY29zeF8k
KFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7CitFTkFCTEVfV0VCR0xfbWFjb3N4XzEw
NjAgPSBFTkFCTEVfV0VCR0w7CitFTkFCTEVfV0VCR0xfbWFjb3N4XzEwNzAgPSBFTkFCTEVfV0VC
R0w7CiAKIEVOQUJMRV8zRF9SRU5ERVJJTkcgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkdfJChSRUFM
X1BMQVRGT1JNX05BTUUpKTsKIEVOQUJMRV8zRF9SRU5ERVJJTkdfaXBob25lb3MgPSBFTkFCTEVf
M0RfUkVOREVSSU5HOwpAQCAtMTIxLDQgKzEyMSw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5B
QkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JFTkRFUklO
RykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NM
SUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFH
UklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZF
TlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcp
ICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklN
QVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJ
TkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChF
TkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dNTCkgJChFTkFC
TEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hT
TFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9CTE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFU
QUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9F
VkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9JTUFHRV9SRVNJWkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTlBVVF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BST0dSRVNTX1RB
RykgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FO
SU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklO
RElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAk
KEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV01MKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVf
WFNMVCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNpb24gNzY1NDkpCisrKyBTb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTAx
LTI0ICBDaHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgRU5BQkxFXzNEX0NBTlZBUyB0
byBFTkFCTEVfV0VCR0wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTUzMDQxCisKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAg
KFFXZWJTZXR0aW5nc1ByaXZhdGU6OmFwcGx5KToKKwogMjAxMS0wMS0yNCAgUmVuYXRhIEhvZG92
YW4gIDxyZW5pQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGlu
Zy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24gNzY1
MzApCisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzEsNyArMTcxLDcgQEAgdm9pZCBRV2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSgp
CiAKICAgICAgICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHZh
bHVlKTsKICNlbmRpZgotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQog
ICAgICAgICB2YWx1ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpXZWJHTEVuYWJs
ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMu
dmFsdWUoUVdlYlNldHRpbmdzOjpXZWJHTEVuYWJsZWQpKTsKIApJbmRleDogU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwkocmV2aXNpb24gNzY1NDkpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMS0yNCAgQ2hyaXMgTWFycmluICA8Y21h
cnJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ2hhbmdlIEVOQUJMRV8zRF9DQU5WQVMgdG8gRU5BQkxFX1dFQkdMCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzA0MQorCisgICAgICAg
ICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZWQpOgorCiAyMDExLTAxLTI0ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXaW5kb3dzIFByb2R1Y3Rpb24gYnVpbGQgZml4CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dp
bi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDgwNiw5ICs0ODA2LDkgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQ
cmVmZXJlbmNlc0NoYW5nZQogICAgIHNldHRpbmdzLT5zZXRXZWJBdWRpb0VuYWJsZWQodHJ1ZSk7
CiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9BVURJTykKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisj
aWYgRU5BQkxFKFdFQkdMKQogICAgIHNldHRpbmdzLT5zZXRXZWJHTEVuYWJsZWQodHJ1ZSk7Ci0j
ZW5kaWYgIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQogCiAg
ICAgaHIgPSBwcmVmc1ByaXZhdGUtPmlzRE5TUHJlZmV0Y2hpbmdFbmFibGVkKCZlbmFibGVkKTsK
ICAgICBpZiAoRkFJTEVEKGhyKSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79985</attachid>
            <date>2011-01-24 16:03:04 -0800</date>
            <delta_ts>2011-01-24 16:04:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53041-20110124160303.patch</filename>
            <type>text/plain</type>
            <size>104033</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTMw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDEt
MjQgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBFTkFCTEVfM0RfQ0FOVkFTIHRv
IEVOQUJMRV9XRUJHTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTMwNDEKKworICAgICAgICAqIGNvbmZpZ3VyZS5hYzoKKyAgICAgICAgCiAyMDExLTAx
LTI0ICBQZXRlciBHYWwgIDxnYWxwZXRlckBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjLgpJbmRleDogY29uZmlndXJlLmFjCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIGNvbmZpZ3VyZS5hYwkocmV2aXNpb24gNzY1MzApCisrKyBjb25maWd1cmUu
YWMJKHdvcmtpbmcgY29weSkKQEAgLTM2NSwxMyArMzY1LDEzIEBAIEFDX0FSR19FTkFCTEUoM0Rf
dHJhbnNmb3JtcywKICAgICAgICAgICAgICAgW10sW2VuYWJsZV8zRF90cmFuc2Zvcm1zPSJubyJd
KQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV8zRF90cmFuc2Zvcm1zXSkKIAotIyBjaGVjayB3aGV0
aGVyIHRvIGVuYWJsZSAzRCBjYW52YXMgKFdlYkdMKSBzdXBwb3J0Ci1BQ19NU0dfQ0hFQ0tJTkco
W3doZXRoZXIgdG8gZW5hYmxlIDNEIGNhbnZhcyAoV2ViR0wpIHN1cHBvcnRdKQotQUNfQVJHX0VO
QUJMRSgzRF9jYW52YXMsCi0gICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS0z
RC1jYW52YXNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlIHN1cHBvcnQg
Zm9yIDNEIGNhbnZhcyAoV2ViR0wpIFtkZWZhdWx0PXllc11dKSwKLSAgICAgICAgICAgICAgW10s
IFtlbmFibGVfM0RfY2FudmFzPSJubyJdKQotQUNfTVNHX1JFU1VMVChbJGVuYWJsZV8zRF9jYW52
YXNdKQorIyBjaGVjayB3aGV0aGVyIHRvIGVuYWJsZSBXZWJHTCBzdXBwb3J0CitBQ19NU0dfQ0hF
Q0tJTkcoW3doZXRoZXIgdG8gZW5hYmxlIFdlYkdMIHN1cHBvcnRdKQorQUNfQVJHX0VOQUJMRShX
ZWJHTCwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLVdlYkdMXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZSBzdXBwb3J0IGZvciAoV2ViR0wgW2Rl
ZmF1bHQ9eWVzXV0pLAorICAgICAgICAgICAgICBbXSwgW2VuYWJsZV9XZWJHTD0ibm8iXSkKK0FD
X01TR19SRVNVTFQoWyRlbmFibGVfV2ViR0xdKQogCiAjIGNoZWNrIHdoZXRoZXIgdG8gZW5hYmxl
IGNoYW5uZWwgbWVzc2FnaW5nIHN1cHBvcnQKIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBl
bmFibGUgSFRNTDUgQ2hhbm5lbCBNZXNzYWdpbmcgc3VwcG9ydF0pCkBAIC05NjMsNyArOTYzLDcg
QEAgQU1fQ09ORElUSU9OQUwoW1VTRV9HU1RSRUFNRVJdLCBbdGVzdCAiJAogIyBXZWJLaXQgZmVh
dHVyZSBjb25kaXRpb25hbHMKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfREVCVUddLFt0ZXN0ICIk
ZW5hYmxlX2RlYnVnIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfM0RfVFJBTlNG
T1JNU10sW3Rlc3QgIiRlbmFibGVfM0RfdHJhbnNmb3JtcyIgPSAieWVzIl0pCi1BTV9DT05ESVRJ
T05BTChbRU5BQkxFXzNEX0NBTlZBU10sW3Rlc3QgIiRlbmFibGVfM0RfY2FudmFzIiA9ICJ5ZXMi
XSkKK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCR0xdLFt0ZXN0ICIkZW5hYmxlX1dlYkdMIiA9
ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfQkxPQl0sW3Rlc3QgIiRlbmFibGVfYmxv
YiIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HXSxb
dGVzdCAiJGVuYWJsZV9jaGFubmVsX21lc3NhZ2luZyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05B
TChbRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVJdLFt0ZXN0ICIkZW5hYmxlX2phdmFzY3JpcHRf
ZGVidWdnZXIiID0gInllcyJdKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lv
biA3NjU0OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMS0yNCAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQ2hhbmdlIEVOQUJMRV8zRF9DQU5WQVMgdG8gRU5BQkxFX1dFQkdMCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzA0MQorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTEtMDEtMjQgIEFkYW0g
Um9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRvd3MgUHJvZHVjdGlvbiBi
dWlsZCBmaXgKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDc2NTMwKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMCArMzgsMTAgQEAgRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBU19tYWNvc3ggPSAkKAogRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBU19t
YWNvc3hfMTA2MCA9IDsKIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4XzEwNzAg
PSA7CiAKLUVOQUJMRV8zRF9DQU5WQVMgPSAkKEVOQUJMRV8zRF9DQU5WQVNfJChSRUFMX1BMQVRG
T1JNX05BTUUpKTsKLUVOQUJMRV8zRF9DQU5WQVNfbWFjb3N4ID0gJChFTkFCTEVfM0RfQ0FOVkFT
X21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1FTkFCTEVfM0RfQ0FO
VkFTX21hY29zeF8xMDYwID0gRU5BQkxFXzNEX0NBTlZBUzsKLUVOQUJMRV8zRF9DQU5WQVNfbWFj
b3N4XzEwNzAgPSBFTkFCTEVfM0RfQ0FOVkFTOworRU5BQkxFX1dFQkdMID0gJChFTkFCTEVfV0VC
R0xfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKK0VOQUJMRV9XRUJHTF9tYWNvc3ggPSAkKEVOQUJM
RV9XRUJHTF9tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworRU5BQkxF
X1dFQkdMX21hY29zeF8xMDYwID0gRU5BQkxFX1dFQkdMOworRU5BQkxFX1dFQkdMX21hY29zeF8x
MDcwID0gRU5BQkxFX1dFQkdMOwogCiBFTkFCTEVfM0RfUkVOREVSSU5HID0gJChFTkFCTEVfM0Rf
UkVOREVSSU5HXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfM0RfUkVOREVSSU5HX2lw
aG9uZW9zID0gRU5BQkxFXzNEX1JFTkRFUklORzsKQEAgLTEyMSw0ICsxMjEsNCBAQCBFTkFCTEVf
WEhUTUxNUCA9IDsKIEVOQUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVOQUJMRV9YU0xUID0g
RU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNF
KSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JB
R0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxF
X1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFC
TEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAk
KEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9S
RUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQ
QVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJB
U0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RP
UkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJ
TEVfU1lTVEVNKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVO
QUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVf
U1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19G
T1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVf
WFBBVEgpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzY1NDkpCisr
KyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNDMg
QEAKKzIwMTEtMDEtMjQgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBFTkFCTEVf
M0RfQ0FOVkFTIHRvIEVOQUJMRV9XRUJHTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTMwNDEKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBi
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0FycmF5QnVmZmVyQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9K
Uyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTRGF0YVZpZXdDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRmxvYXQz
MkFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxDYW52YXNFbGVt
ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6Omdl
dENvbnRleHQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW50MTZBcnJheUN1c3RvbS5jcHA6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbnQzMkFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy9qcy9KU0ludDhBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNVaW50MTZBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNVaW50
MzJBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNVaW50OEFycmF5Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1
c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNYTUxIdHRwUmVxdWVzdEN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU1hNTEh0dHBSZXF1ZXN0OjptYXJrQ2hpbGRyZW4pOgor
ICAgICAgICAoV2ViQ29yZTo6SlNYTUxIdHRwUmVxdWVzdDo6c2VuZCk6CisgICAgICAgIChXZWJD
b3JlOjpKU1hNTEh0dHBSZXF1ZXN0OjpyZXNwb25zZSk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4QXJyYXlCdWZmZXJDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEFycmF5QnVmZmVyVmlld0N1c3RvbS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhEb2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERvY3VtZW50OjpnZXRD
U1NDYW52YXNDb250ZXh0Q2FsbGJhY2spOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OEZsb2F0MzJBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ2Fu
dmFzRWxlbWVudDo6Z2V0Q29udGV4dENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhJbnQxNkFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0
b20vVjhJbnQzMkFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhJbnQ4QXJyYXlDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFVp
bnQxNkFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhVaW50
MzJBcnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4VWludDhB
cnJheUN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2ViR0xSZW5k
ZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhY
TUxIdHRwUmVxdWVzdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFhNTEh0dHBSZXF1
ZXN0OjpyZXNwb25zZUFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlY4WE1MSHR0
cFJlcXVlc3Q6OnNlbmRDYWxsYmFjayk6CisgICAgICAgICogZmVhdHVyZXMucHJpOgorICAgICAg
ICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENh
bnZhc0VsZW1lbnQ6OmdldENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0Vs
ZW1lbnQ6OnJlc2V0KToKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmg6CisgICAg
ICAgICogaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuY3BwOgorICAgICAgICAqIGh0bWwvY2FudmFz
L0FycmF5QnVmZmVyLmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcu
Y3BwOgorICAgICAgICAqIGh0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5pZGw6CisgICAgICAg
ICogaHRtbC9jYW52YXMvRGF0YVZpZXcuY3BwOgorICAgICAgICAqIGh0bWwvY2FudmFzL0RhdGFW
aWV3LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuY3BwOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMv
SW50MTZBcnJheS5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50MTZBcnJheS5pZGw6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvSW50MzJBcnJheS5jcHA6CisgICAgICAgICogaHRtbC9jYW52
YXMvSW50MzJBcnJheS5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvSW50OEFycmF5LmNwcDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwOgorICAgICAgICAqIGh0bWwvY2FudmFzL09F
U1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL09FU1RleHR1
cmVGbG9hdC5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50MTZBcnJheS5jcHA6CisgICAgICAgICogaHRtbC9j
YW52YXMvVWludDE2QXJyYXkuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1VpbnQzMkFycmF5
LmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGw6CisgICAgICAgICog
aHRtbC9jYW52YXMvVWludDhBcnJheS5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvVWludDhB
cnJheS5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHA6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xCdWZmZXIuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0
dHJpYnV0ZXMuY3BwOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0
ZXMuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmlkbDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5jcHA6CisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHA6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xG
cmFtZWJ1ZmZlci5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xHZXRJbmZvLmNwcDoK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTE9iamVjdC5jcHA6CisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR0xQcm9ncmFtLmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFByb2dy
YW0uaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmNwcDoKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5pZGw6CisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
U2hhZGVyLmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFNoYWRlci5pZGw6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHTFRleHR1cmUuaWRsOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxv
Y2F0aW9uLmNwcDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5p
ZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuY3BwOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmlkbDoKKyAgICAgICAgKiBwYWdlL0RP
TVdpbmRvdy5pZGw6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlk
Z2UuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHQzRENHLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L21hYy9EcmF3aW5nQnVmZmVyTWFjLm1tOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQzRE1hYy5tbToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5tbToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0V4dGVuc2lvbnMzRFF0LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllclF0SW1wbDo6R3JhcGhpY3NMYXllclF0SW1wbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjpwYWludCk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0xheWVyUXRJbXBsOjpmbHVzaENoYW5nZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0M0RTa2lhLmNwcDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmlzQWNjZWxlcmF0ZWRDYW52YXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVHcmFwaGljc0xheWVyQ29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckJhY2tpbmc6OmNvbnRhaW5zUGFpbnRlZENvbnRlbnQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpjb250ZW50Q2hhbmdlZCk6CisgICAgICAgICog
d2ViYXVkaW8vQXVkaW9CdWZmZXIuY3BwOgorICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlvQnVmZmVy
LmlkbDoKKyAgICAgICAgKiB3ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmNwcDoKKyAgICAgICAg
KiB3ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmg6CisgICAgICAgICogd2ViYXVkaW8vUmVhbHRp
bWVBbmFseXNlck5vZGUuaDoKKyAgICAgICAgKiB3ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyTm9k
ZS5pZGw6CisgICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlhNTEh0dHBSZXF1ZXN0OjpzZXRSZXNwb25zZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
WE1MSHR0cFJlcXVlc3Q6OmNsZWFyUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3Q6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3Qu
aDoKKwogMjAxMS0wMS0yNCAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlICJKU0NhbnZhc1BhdHRl
cm4uY3BwIgogI2luY2x1ZGUgIkpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAiCiAjaW5jbHVk
ZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIgotI2lmIEVOQUJMRSgzRF9DQU5WQVMp
ICAgIAorI2lmIEVOQUJMRShXRUJHTCkgICAgCiAjaW5jbHVkZSAiSlNXZWJHTFJlbmRlcmluZ0Nv
bnRleHQuY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiSlNDREFUQVNlY3Rpb24uY3BwIgpJbmRleDog
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQ2ODIsOSArNDY4Miw5IEBAIGVuZGlmICAj
IEVORCBFTkFCTEVfQkxPQgogIyAtLS0KICMgM0QgY2FudmFzIChXZWJHTCkgc3VwcG9ydAogIyAt
LS0KLWlmIEVOQUJMRV8zRF9DQU5WQVMKLUZFQVRVUkVfREVGSU5FUyArPSBFTkFCTEVfM0RfQ0FO
VkFTPTEKLXdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfM0RfQ0FOVkFTPTEKK2lmIEVOQUJM
RV9XRUJHTAorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9XRUJHTD0xCit3ZWJjb3JlX2NwcGZs
YWdzICs9IC1ERU5BQkxFX1dFQkdMPTEKIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMQnVmZmVyLmNwcCBcCkBAIC00NzExLDcgKzQ3MTEsNyBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmgKLWVu
ZGlmICAjIEVORCBFTkFCTEVfM0RfQ0FOVkFTCitlbmRpZiAgIyBFTkQgRU5BQkxFX1dFQkdMCiAK
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5jcHA6IERlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oCiBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0NT
U1Byb3BlcnR5TmFtZXMuaDogJChXRUJDT1JFX0NTU19QUk9QRVJUWV9OQU1FUykgJChXZWJDb3Jl
KS9jc3MvbWFrZXByb3AucGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA3NjUzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0zNzU5LDcgKzM3
NTksNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV0VCX1NPQ0tFVFM9MSkgCiAgICAgfQog
fQogCi1jb250YWlucyhERUZJTkVTLCBFTkFCTEVfQkxPQj0xKSB8IGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV8zRF9DQU5WQVM9MSkgeworY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0JMT0I9MSkg
fCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV0VCR0w9MSkgewogICAgICF2OCB7CiAgICAgICAg
IEhFQURFUlMgKz0gXAogICAgICAgICAgICAgYmluZGluZ3MvanMvSlNBcnJheUJ1ZmZlclZpZXdI
ZWxwZXIuaApAQCAtMzgwMiw3ICszODAyLDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0JM
T0I9MSkgfCBjb250YQogICAgICAgICBodG1sL2NhbnZhcy9VaW50MTZBcnJheS5jcHAKICAgICB9
CiAKLWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV8zRF9DQU5WQVM9MSkgeworY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX1dFQkdMPTEpIHsKICAgICB0b2JlfCF0b2JlOiBRVCArPSBvcGVuZ2wKIAog
ICAgIEhFQURFUlMgKz0gXApJbmRleDogU291cmNlL1dlYkNvcmUvZmVhdHVyZXMucHJpCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZlYXR1cmVzLnByaQkocmV2aXNpb24gNzY1MzApCisr
KyBTb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzcz
LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NJTkdMRV9USFJFQURFRAogIWNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9JTlNQRUNUT1I9Lik6IERFRklORVMgKz0gRU5BQkxFX0lOU1BFQ1RP
Uj0xCiAhY29udGFpbnMoREVGSU5FUywgRU5BQkxFXzNEX1JFTkRFUklORz0uKTogREVGSU5FUyAr
PSBFTkFCTEVfM0RfUkVOREVSSU5HPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfV0VCX0FV
RElPPS4pOiBERUZJTkVTICs9IEVOQUJMRV9XRUJfQVVESU89MAotIWNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV8zRF9DQU5WQVM9Lik6IERFRklORVMgKz0gRU5BQkxFXzNEX0NBTlZBUz0wCishY29u
dGFpbnMoREVGSU5FUywgRU5BQkxFX1dFQkdMPS4pOiBERUZJTkVTICs9IEVOQUJMRV9XRUJHTD0w
CiAKICMgU1ZHIHN1cHBvcnQKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHPTApIHsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMCAr
MzgsMTAgQEAgRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBU19tYWNvc3ggPSAkKAogRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBU19tYWNvc3hfMTA2MCA9IDsKIEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVNfbWFjb3N4XzEwNzAgPSA7CiAKLUVOQUJMRV8zRF9DQU5WQVMgPSAkKEVOQUJM
RV8zRF9DQU5WQVNfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKLUVOQUJMRV8zRF9DQU5WQVNfbWFj
b3N4ID0gJChFTkFCTEVfM0RfQ0FOVkFTX21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9O
X01BSk9SKSk7Ci1FTkFCTEVfM0RfQ0FOVkFTX21hY29zeF8xMDYwID0gRU5BQkxFXzNEX0NBTlZB
UzsKLUVOQUJMRV8zRF9DQU5WQVNfbWFjb3N4XzEwNzAgPSBFTkFCTEVfM0RfQ0FOVkFTOworRU5B
QkxFX1dFQkdMID0gJChFTkFCTEVfV0VCR0xfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKK0VOQUJM
RV9XRUJHTF9tYWNvc3ggPSAkKEVOQUJMRV9XRUJHTF9tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hf
VkVSU0lPTl9NQUpPUikpOworRU5BQkxFX1dFQkdMX21hY29zeF8xMDYwID0gRU5BQkxFX1dFQkdM
OworRU5BQkxFX1dFQkdMX21hY29zeF8xMDcwID0gRU5BQkxFX1dFQkdMOwogCiBFTkFCTEVfM0Rf
UkVOREVSSU5HID0gJChFTkFCTEVfM0RfUkVOREVSSU5HXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7
CiBFTkFCTEVfM0RfUkVOREVSSU5HX2lwaG9uZW9zID0gRU5BQkxFXzNEX1JFTkRFUklORzsKQEAg
LTEyMSw0ICsxMjEsNCBAQCBFTkFCTEVfWEhUTUxNUCA9IDsKIEVOQUJMRV9YUEFUSCA9IEVOQUJM
RV9YUEFUSDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0Ip
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFU
QUxJU1QpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQ
TE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJM
RV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lN
QUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQ
RUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVf
V0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9TSEFSRURf
V09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9T
VkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5B
QkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQkxP
QikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9M
T0NBVElPTikgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9E
QVRBTElTVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllf
VVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5B
QkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
SU1BR0VfUkVTSVpFUikgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRf
U1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FVEVSX1RBRykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElO
RV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxF
X1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChF
TkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDcg
Kzk3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHdlYmtpdEF1ZGlvQ29udGV4dEVuYWJs
ZWQoKSB7IHJldHVybiBpc1dlYkF1ZGlvRW5hYmxlZDsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUo
M0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShC
TE9CKQogICAgIHN0YXRpYyB2b2lkIHNldFdlYkdMRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBp
c1dlYkdMRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIHN0YXRpYyBib29sIGFycmF5QnVmZmVy
RW5hYmxlZCgpIHsgcmV0dXJuIGlzV2ViR0xFbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgaW50
OEFycmF5RW5hYmxlZCgpIHsgcmV0dXJuIGlzV2ViR0xFbmFibGVkOyB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0FycmF5QnVmZmVyQ3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0FycmF5QnVmZmVyQ3VzdG9tLmNwcAkocmV2
aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0FycmF5QnVmZmVy
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBF
TkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlci5o
IgogCkBAIC01NCw0ICs1NCw0IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNBcnJh
eUJ1ZmYKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NB
TlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUo
QkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5n
Q29udGV4dEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRlICJDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKICNpbmNsdWRlICJKU0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5oIgotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogI2luY2x1
ZGUgIldlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkpTV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmgiCiAjZW5kaWYKQEAgLTQyLDcgKzQyLDcgQEAgSlNDOjpKU1ZhbHVlIHRvSlMoSlND
OjpFeGVjU3RhdGUqIGV4ZWMsIAogICAgIGlmICghb2JqZWN0KQogICAgICAgICByZXR1cm4ganNV
bmRlZmluZWQoKTsKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQog
ICAgIGlmIChvYmplY3QtPmlzM2QoKSkKICAgICAgICAgcmV0dXJuIGdldERPTU9iamVjdFdyYXBw
ZXI8SlNXZWJHTFJlbmRlcmluZ0NvbnRleHQ+KGV4ZWMsIGdsb2JhbE9iamVjdCwgc3RhdGljX2Nh
c3Q8V2ViR0xSZW5kZXJpbmdDb250ZXh0Kj4ob2JqZWN0KSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAJKHJldmlz
aW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0
b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw3IEBACiAjaW5jbHVkZSA8cnVudGlt
ZS9KU0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8cnVudGltZS9Qcm90b3R5cGVGdW5jdGlvbi5oPgog
Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdM
KSB8fCBFTkFCTEUoQkxPQikKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyLmgiCiAjaW5jbHVkZSAi
SlNEYXRhVmlldy5oIgogI2luY2x1ZGUgIkpTRmxvYXQzMkFycmF5LmgiCkBAIC01MzgsNyArNTM4
LDcgQEAgSlNWYWx1ZSBKU0RPTVdpbmRvdzo6d2ViS2l0Q1NTTWF0cml4KEV4ZQogICAgIHJldHVy
biBnZXRET01Db25zdHJ1Y3RvcjxKU1dlYktpdENTU01hdHJpeENvbnN0cnVjdG9yPihleGVjLCB0
aGlzKTsKIH0KICAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBF
TkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogSlNWYWx1ZSBKU0RPTVdpbmRvdzo6YXJyYXlC
dWZmZXIoRXhlY1N0YXRlKiBleGVjKSBjb25zdAogewogICAgIHJldHVybiBnZXRET01Db25zdHJ1
Y3RvcjxKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I+KGV4ZWMsIHRoaXMpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEYXRhVmlld0N1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEYXRhVmlld0N1c3RvbS5jcHAJKHJldmlzaW9u
IDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEYXRhVmlld0N1c3RvbS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdF
QkdMKSB8fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkpTRGF0YVZpZXcuaCIKIApAQCAtMTYx
LDQgKzE2MSw0IEBAIEpTVmFsdWUgSlNEYXRhVmlldzo6c2V0VWludDgoRXhlY1N0YXRlKiAKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwg
RU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3Bw
CShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1l
bnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAjaW5jbHVkZSAi
RnJhbWVMb2FkZXIuaCIKICNpbmNsdWRlICJIVE1MRG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIgotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5B
QkxFKFdFQkdMKQogI2luY2x1ZGUgIkpTV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5kaWYK
ICNpbmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNGbG9hdDMyQXJyYXlDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRmxvYXQzMkFycmF5Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1
MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Zsb2F0MzJBcnJheUN1c3RvbS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdF
QkdMKSB8fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkpTRmxvYXQzMkFycmF5LmgiCiAKQEAg
LTYzLDQgKzYzLDQgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU0Zsb2F0MzJBcgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8
fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3Rv
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ2Fu
dmFzRWxlbWVudEN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJDYW52YXNDb250ZXh0QXR0cmlidXRlcy5oIgog
I2luY2x1ZGUgIkhUTUxDYW52YXNFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuaCIKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkK
ICNpbmNsdWRlICJKU1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkdMQ29u
dGV4dEF0dHJpYnV0ZXMuaCIKICNlbmRpZgpAQCAtNTUsNyArNTUsNyBAQCBKU1ZhbHVlIEpTSFRN
TENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQoCiAgICAgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZh
cyA9IHN0YXRpY19jYXN0PEhUTUxDYW52YXNFbGVtZW50Kj4oaW1wbCgpKTsKICAgICBjb25zdCBV
U3RyaW5nJiBjb250ZXh0SWQgPSBleGVjLT5hcmd1bWVudCgwKS50b1N0cmluZyhleGVjKTsKICAg
ICBSZWZQdHI8Q2FudmFzQ29udGV4dEF0dHJpYnV0ZXM+IGF0dHJzOwotI2lmIEVOQUJMRSgzRF9D
QU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogICAgIGlmIChjb250ZXh0SWQgPT0gImV4cGVyaW1l
bnRhbC13ZWJnbCIgfHwgY29udGV4dElkID09ICJ3ZWJraXQtM2QiKSB7CiAgICAgICAgIGF0dHJz
ID0gV2ViR0xDb250ZXh0QXR0cmlidXRlczo6Y3JlYXRlKCk7CiAgICAgICAgIFdlYkdMQ29udGV4
dEF0dHJpYnV0ZXMqIHdlYkdMQXR0cnMgPSBzdGF0aWNfY2FzdDxXZWJHTENvbnRleHRBdHRyaWJ1
dGVzKj4oYXR0cnMuZ2V0KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJ
bnQ4QXJyYXlDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSW50OEFycmF5Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ludDhBcnJheUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NB
TlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikK
IAogI2luY2x1ZGUgIkpTSW50OEFycmF5LmgiCiAKQEAgLTY0LDQgKzY0LDQgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBKU0ludDhBcnJheQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNJbnQxNkFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0ludDE2QXJyYXlDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUzMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW50MTZBcnJheUN1c3RvbS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0j
aWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8
fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkpTSW50MTZBcnJheS5oIgogCkBAIC02Myw0ICs2
Myw0IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNJbnQxNkFycmEKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxF
KEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW50MzJBcnJheUN1c3RvbS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbnQzMkFycmF5Q3VzdG9tLmNwcAko
cmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ludDMyQXJy
YXlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lm
IEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJKU0ludDMyQXJyYXku
aCIKIApAQCAtNjMsNCArNjMsNCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTSW50
MzJBcnJhCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9D
QU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxF
KEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1VpbnQ4QXJyYXlDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTVWludDhB
cnJheUN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNVaW50OEFycmF5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBF
TkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVk
ZSAiSlNVaW50OEFycmF5LmgiCiAKQEAgLTYzLDQgKzYzLDQgQEAgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBKU1VpbnQ4QXJyYQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUo
V0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNVaW50MTZBcnJheUN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNVaW50MTZBcnJheUN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNVaW50MTZBcnJheUN1c3RvbS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5B
QkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFC
TEUoQkxPQikKIAogI2luY2x1ZGUgIkpTVWludDE2QXJyYXkuaCIKIApAQCAtNjMsNCArNjMsNCBA
QCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVWludDE2QXJyCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9C
KQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1VpbnQzMkFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1VpbnQzMkFycmF5Q3VzdG9tLmNwcAkocmV2
aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1VpbnQzMkFycmF5
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBF
TkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAiSlNVaW50MzJBcnJheS5o
IgogCkBAIC02Myw0ICs2Myw0IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgSlNVaW50
MzJBcnIKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NB
TlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUo
QkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdD
b250ZXh0Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcu
aCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVk
ZSAiSlNXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKIApAQCAtNzAzLDQgKzcwMyw0IEBAIEpTQzo6
SlNWYWx1ZSBKU1dlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmUKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VC
R0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3Vz
dG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1hNTEh0
dHBSZXF1ZXN0Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1hNTEh0dHBSZXF1ZXN0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjQsNyArNjQsNyBAQCB2b2lkIEpTWE1MSHR0cFJlcXVlc3Q6Om1hcmtDaGlsZHJlbihNYXJrCiAg
ICAgaWYgKERvY3VtZW50KiByZXNwb25zZURvY3VtZW50ID0gbV9pbXBsLT5vcHRpb25hbFJlc3Bv
bnNlWE1MKCkpCiAgICAgICAgIG1hcmtET01PYmplY3RXcmFwcGVyKG1hcmtTdGFjaywgKkhlYXA6
OmhlYXAodGhpcyktPmdsb2JhbERhdGEoKSwgcmVzcG9uc2VEb2N1bWVudCk7CiAKLSNpZiBFTkFC
TEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJM
RShCTE9CKQogICAgIGlmIChBcnJheUJ1ZmZlciogcmVzcG9uc2VBcnJheUJ1ZmZlciA9IG1faW1w
bC0+b3B0aW9uYWxSZXNwb25zZUFycmF5QnVmZmVyKCkpCiAgICAgICAgIG1hcmtET01PYmplY3RX
cmFwcGVyKG1hcmtTdGFjaywgKkhlYXA6OmhlYXAodGhpcyktPmdsb2JhbERhdGEoKSwgcmVzcG9u
c2VBcnJheUJ1ZmZlcik7CiAjZW5kaWYKQEAgLTEyNCw3ICsxMjQsNyBAQCBKU1ZhbHVlIEpTWE1M
SHR0cFJlcXVlc3Q6OnNlbmQoRXhlY1N0YXRlCiAgICAgICAgICAgICBpbXBsKCktPnNlbmQodG9C
bG9iKHZhbCksIGVjKTsKICAgICAgICAgZWxzZSBpZiAodmFsLmluaGVyaXRzKCZKU0RPTUZvcm1E
YXRhOjpzX2luZm8pKQogICAgICAgICAgICAgaW1wbCgpLT5zZW5kKHRvRE9NRm9ybURhdGEodmFs
KSwgZWMpOwotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJM
RShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAgICAgICAgIGVsc2UgaWYgKHZhbC5pbmhlcml0cygm
SlNBcnJheUJ1ZmZlcjo6c19pbmZvKSkKICAgICAgICAgICAgIGltcGwoKS0+c2VuZCh0b0FycmF5
QnVmZmVyKHZhbCksIGVjKTsKICNlbmRpZgpAQCAtMTg5LDcgKzE4OSw3IEBAIEpTVmFsdWUgSlNY
TUxIdHRwUmVxdWVzdDo6cmVzcG9uc2UoRXhlY1MKICNlbmRpZgogCiAgICAgY2FzZSBYTUxIdHRw
UmVxdWVzdDo6UmVzcG9uc2VUeXBlQXJyYXlCdWZmZXI6Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykg
fHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKICAgICAg
ICAgewogICAgICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgICAgICBBcnJh
eUJ1ZmZlciogYXJyYXlCdWZmZXIgPSBpbXBsKCktPnJlc3BvbnNlQXJyYXlCdWZmZXIoZWMpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OEFycmF5QnVmZmVyQ3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBcnJheUJ1ZmZlckN1c3RvbS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxF
KDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUo
QkxPQikKIAogI2luY2x1ZGUgIkFycmF5QnVmZmVyLmgiCiAKQEAgLTc4LDQgKzc4LDQgQEAgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IFY4QXJyYXlCdWZmZXI6OmNvbgogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3
Q3VzdG9tLmgJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4QXJyYXlCdWZmZXJWaWV3Q3VzdG9tLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAKICNpZm5kZWYgVjhBcnJheUJ1ZmZlclZpZXdDdXN0b21faAogI2RlZmluZSBWOEFy
cmF5QnVmZmVyVmlld0N1c3RvbV9oCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUo
QkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAiQXJy
YXlCdWZmZXIuaCIKIApAQCAtMjA5LDYgKzIwOSw2IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBz
ZXRXZWJHTEFycmF5SGVscGUKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR0wpCiAKICNlbmRpZiAvLyBWOEFycmF5QnVmZmVyVmlld0N1c3Rv
bV9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEYXRhVmlld0N1
c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RGF0YVZpZXdDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERhdGFWaWV3Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0Rf
Q0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9C
KQogCiAjaW5jbHVkZSAiRGF0YVZpZXcuaCIKIApAQCAtMTIxLDQgKzEyMSw0IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOERhdGFWaWV3OjpzZXRVaW4KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAJKHJldmlz
aW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1l
bnRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBACiAjaW5jbHVkZSAi
VjhQcm94eS5oIgogI2luY2x1ZGUgIlY4VG91Y2guaCIKICNpbmNsdWRlICJWOFRvdWNoTGlzdC5o
IgotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogI2luY2x1ZGUgIlY4
V2ViR0xSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5kaWYKICNpbmNsdWRlICJWOFhQYXRoTlNSZXNv
bHZlci5oIgpAQCAtMTEwLDEwICsxMTAsMTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RG9j
dW1lbnQ6OmdldENTUwogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogICAgIGlmIChy
ZXN1bHQtPmlzMmQoKSkKICAgICAgICAgcmV0dXJuIHRvVjgoc3RhdGljX2Nhc3Q8Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEKj4ocmVzdWx0KSk7Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBF
TkFCTEUoV0VCR0wpCiAgICAgZWxzZSBpZiAocmVzdWx0LT5pczNkKCkpCiAgICAgICAgIHJldHVy
biB0b1Y4KHN0YXRpY19jYXN0PFdlYkdMUmVuZGVyaW5nQ29udGV4dCo+KHJlc3VsdCkpOwotI2Vu
ZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQogICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhGbG9hdDMyQXJyYXlDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEZs
b2F0MzJBcnJheUN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4RmxvYXQzMkFycmF5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
M0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShC
TE9CKQogCiAjaW5jbHVkZSAiQXJyYXlCdWZmZXIuaCIKICNpbmNsdWRlICJGbG9hdDMyQXJyYXku
aCIKQEAgLTY4LDQgKzY4LDQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRmxvYXQzMkFy
cmF5KgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FO
VkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShC
TE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTENhbnZh
c0VsZW1lbnRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzAp
CisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MQ2FudmFzRWxlbWVu
dEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDcgQEAKICNpbmNsdWRlICJW
OENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIgogI2luY2x1ZGUgIlY4Tm9kZS5oIgogI2luY2x1
ZGUgIlY4UHJveHkuaCIKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkK
ICNpbmNsdWRlICJWOFdlYkdMUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KQEAgLTU1LDcgKzU1LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFY4SFRNTENhbnZhc0VsZW1lbgogICAgIEhUTUxDYW52YXNFbGVtZW50KiBpbXAgPSBWOEhUTUxD
YW52YXNFbGVtZW50Ojp0b05hdGl2ZShob2xkZXIpOwogICAgIFN0cmluZyBjb250ZXh0SWQgPSB0
b1dlYkNvcmVTdHJpbmcoYXJnc1swXSk7CiAgICAgUmVmUHRyPENhbnZhc0NvbnRleHRBdHRyaWJ1
dGVzPiBhdHRyczsKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICAg
ICBpZiAoY29udGV4dElkID09ICJleHBlcmltZW50YWwtd2ViZ2wiIHx8IGNvbnRleHRJZCA9PSAi
d2Via2l0LTNkIikgewogICAgICAgICBhdHRycyA9IFdlYkdMQ29udGV4dEF0dHJpYnV0ZXM6OmNy
ZWF0ZSgpOwogICAgICAgICBXZWJHTENvbnRleHRBdHRyaWJ1dGVzKiB3ZWJHTEF0dHJzID0gc3Rh
dGljX2Nhc3Q8V2ViR0xDb250ZXh0QXR0cmlidXRlcyo+KGF0dHJzLmdldCgpKTsKQEAgLTg0LDcg
Kzg0LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SFRNTENhbnZhc0VsZW1lbgogICAgICAg
ICByZXR1cm4gdjg6Ok51bGwoKTsKICAgICBpZiAocmVzdWx0LT5pczJkKCkpCiAgICAgICAgIHJl
dHVybiB0b1Y4KHN0YXRpY19jYXN0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCo+KHJlc3VsdCkp
OwotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogICAgIGVsc2UgaWYg
KHJlc3VsdC0+aXMzZCgpKQogICAgICAgICByZXR1cm4gdG9WOChzdGF0aWNfY2FzdDxXZWJHTFJl
bmRlcmluZ0NvbnRleHQqPihyZXN1bHQpKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50OEFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbnQ4QXJyYXlDdXN0b20uY3BwCShy
ZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElu
dDhBcnJheUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0Ip
CisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkFycmF5QnVm
ZmVyLmgiCiAjaW5jbHVkZSAiSW50OEFycmF5LmgiCkBAIC02OCw0ICs2OCw0IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiB0b1Y4KEludDhBcnJheSogaW0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYg
Ly8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOEludDE2QXJyYXlDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEludDE2QXJyYXlDdXN0b20uY3BwCShy
ZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElu
dDE2QXJyYXlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9C
KQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJBcnJheUJ1
ZmZlci5oIgogI2luY2x1ZGUgIkludDE2QXJyYXkuaCIKQEAgLTY4LDQgKzY4LDQgQEAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHRvVjgoSW50MTZBcnJheSogaQogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW50MzJBcnJheUN1c3RvbS5jcHAJ
KHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
SW50MzJBcnJheUN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAog
I2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJM
T0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkFycmF5
QnVmZmVyLmgiCiAjaW5jbHVkZSAiSW50MzJBcnJheS5oIgpAQCAtNjgsNCArNjgsNCBAQCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJbnQzMkFycmF5KiBpCiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50OEFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50OEFycmF5Q3VzdG9tLmNw
cAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhVaW50OEFycmF5Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUo
QkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAiQXJy
YXlCdWZmZXIuaCIKICNpbmNsdWRlICJVaW50OEFycmF5LmgiCkBAIC02OCw0ICs2OCw0IEBAIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFVpbnQ4QXJyYXkqIGkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisj
ZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQxNkFycmF5Q3VzdG9tLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MTZBcnJheUN1c3Rv
bS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4VWludDE2QXJyYXlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3
IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVO
QUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRl
ICJBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIlVpbnQxNkFycmF5LmgiCkBAIC02OCw0ICs2OCw0
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFVpbnQxNkFycmF5KiAKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJM
T0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFVpbnQzMkFycmF5Q3VzdG9tLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhVaW50MzJBcnJh
eUN1c3RvbS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4VWludDMyQXJyYXlDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3
ICszMCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMp
IHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNp
bmNsdWRlICJBcnJheUJ1ZmZlci5oIgogI2luY2x1ZGUgIlVpbnQzMkFycmF5LmgiCkBAIC02OCw0
ICs2OCw0IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KFVpbnQzMkFycmF5KiAKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5B
QkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4
dEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4V2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAkocmV2aXNpb24gNzY1MzApCisr
KyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQog
CiAjaW5jbHVkZSAiVjhXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKIApAQCAtNzczLDQgKzc3Myw0
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdlYkdMUmVuZGVyaW5nQ28KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhY
TUxIdHRwUmVxdWVzdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4WE1MSHR0cFJlcXVlc3RDdXN0b20uY3BwCShyZXZpc2lvbiA3NjUz
MCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFhNTEh0dHBSZXF1ZXN0
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsNyBAQCB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gVjhYTUxIdHRwUmVxdWVzdDo6CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVk
KCk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lm
IEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAgICAgY2FzZSBYTUxIdHRwUmVxdWVzdDo6
UmVzcG9uc2VUeXBlQXJyYXlCdWZmZXI6CiAgICAgICAgIHsKICAgICAgICAgICAgIEV4Y2VwdGlv
bkNvZGUgZWMgPSAwOwpAQCAtMTkzLDcgKzE5Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OFhNTEh0dHBSZXF1ZXN0OjoKICAgICAgICAgICAgIERPTUZvcm1EYXRhKiBkb21Gb3JtRGF0YSA9
IFY4RE9NRm9ybURhdGE6OnRvTmF0aXZlKG9iamVjdCk7CiAgICAgICAgICAgICBBU1NFUlQoZG9t
Rm9ybURhdGEpOwogICAgICAgICAgICAgeG1sSHR0cFJlcXVlc3QtPnNlbmQoZG9tRm9ybURhdGEs
IGVjKTsKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUo
V0VCR0wpIHx8IEVOQUJMRShCTE9CKQogICAgICAgICB9IGVsc2UgaWYgKFY4QXJyYXlCdWZmZXI6
Okhhc0luc3RhbmNlKGFyZykpIHsKICAgICAgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
b2JqZWN0ID0gdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmcpOwogICAgICAgICAgICAg
QXJyYXlCdWZmZXIqIGFycmF5QnVmZmVyID0gVjhBcnJheUJ1ZmZlcjo6dG9OYXRpdmUob2JqZWN0
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCShyZXZp
c2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw3IEBACiAjaW5jbHVkZSA8bWF0aC5oPgogI2lu
Y2x1ZGUgPHN0ZGlvLmg+CiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSAgICAKKyNpZiBFTkFCTEUo
V0VCR0wpICAgIAogI2luY2x1ZGUgIldlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaCIKICNpbmNsdWRl
ICJXZWJHTFJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRpZgpAQCAtMTY2LDcgKzE2Niw3IEBAIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQqIEhUTUxDYW52YXNFbGVtZW4KICAgICAgICAgfQogICAgICAg
ICByZXR1cm4gbV9jb250ZXh0LmdldCgpOwogICAgIH0KLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSAg
ICAKKyNpZiBFTkFCTEUoV0VCR0wpICAgIAogICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGRvY3Vt
ZW50KCktPnNldHRpbmdzKCk7CiAgICAgaWYgKHNldHRpbmdzICYmIHNldHRpbmdzLT53ZWJHTEVu
YWJsZWQoKQogI2lmICFQTEFURk9STShDSFJPTUlVTSkgJiYgIVBMQVRGT1JNKFFUKQpAQCAtMjMy
LDcgKzIzMiw3IEBAIHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6OnJlc2V0KCkKICAgICBJbnRTaXpl
IG9sZFNpemUgPSBzaXplKCk7CiAgICAgc2V0U3VyZmFjZVNpemUoSW50U2l6ZSh3LCBoKSk7IC8v
IFRoZSBpbWFnZSBidWZmZXIgZ2V0cyBjbGVhcmVkIGhlcmUuCiAKLSNpZiBFTkFCTEUoM0RfQ0FO
VkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICAgICBpZiAobV9jb250ZXh0ICYmIG1fY29udGV4dC0+
aXMzZCgpICYmIG9sZFNpemUgIT0gc2l6ZSgpKQogICAgICAgICBzdGF0aWNfY2FzdDxXZWJHTFJl
bmRlcmluZ0NvbnRleHQqPihtX2NvbnRleHQuZ2V0KCkpLT5yZXNoYXBlKHdpZHRoKCksIGhlaWdo
dCgpKTsKICNlbmRpZgpAQCAtMjc5LDcgKzI3OSw3IEBAIHZvaWQgSFRNTENhbnZhc0VsZW1lbnQ6
OnBhaW50KEdyYXBoaWNzQ28KICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSAgICAK
KyNpZiBFTkFCTEUoV0VCR0wpICAgIAogYm9vbCBIVE1MQ2FudmFzRWxlbWVudDo6aXMzRCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fY29udGV4dCAmJiBtX2NvbnRleHQtPmlzM2QoKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgJKHJldmlzaW9uIDc2NTMwKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogCiAgICAgQWZmaW5lVHJhbnNmb3JtIGJhc2VU
cmFuc2Zvcm0oKSBjb25zdDsKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpICAgIAorI2lmIEVOQUJM
RShXRUJHTCkgICAgCiAgICAgYm9vbCBpczNEKCkgY29uc3Q7CiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmNwcAkocmV2aXNpb24gNzY1MzAp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5B
QkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFC
TEUoQkxPQikKIAogI2luY2x1ZGUgIkFycmF5QnVmZmVyLmgiCiAKQEAgLTEwMSw0ICsxMDEsNCBA
QCB2b2lkKiBBcnJheUJ1ZmZlcjo6dHJ5QWxsb2NhdGUodW5zaWduZWQgCiAKIH0KIAotI2VuZGlm
IC8vIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShX
RUJHTCkgfHwgRU5BQkxFKEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9B
cnJheUJ1ZmZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
QXJyYXlCdWZmZXIuaWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0FycmF5QnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAog
bW9kdWxlIGh0bWwgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9M0Rf
Q0FOVkFTfEJMT0IsCisgICAgICAgIENvbmRpdGlvbmFsPVdFQkdMfEJMT0IsCiAgICAgICAgIENh
bkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAg
ICBOb1N0YXRpY1RhYmxlcywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5
QnVmZmVyVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
QXJyYXlCdWZmZXJWaWV3LmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsy
NSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8
IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNs
dWRlICJBcnJheUJ1ZmZlclZpZXcuaCIKIApAQCAtMTA2LDQgKzEwNiw0IEBAIHZvaWQgQXJyYXlC
dWZmZXJWaWV3OjpjYWxjdWxhdGVPZmZzZXRBbmQKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKDNE
X0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKSB8fCBFTkFC
TEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyVmll
dy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZm
ZXJWaWV3LmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9BcnJheUJ1ZmZlclZpZXcuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAg
Ki8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFT
fEJMT0IsIEN1c3RvbVRvSlMsIE5vU3RhdGljVGFibGVzLCBPbWl0Q29uc3RydWN0b3JdIEFycmF5
QnVmZmVyVmlldyB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJHTHxCTE9CLCBDdXN0
b21Ub0pTLCBOb1N0YXRpY1RhYmxlcywgT21pdENvbnN0cnVjdG9yXSBBcnJheUJ1ZmZlclZpZXcg
ewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgYnVmZmVyOwogICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRlT2Zmc2V0OwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBieXRlTGVuZ3RoOwpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvRGF0YVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3LmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1
LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZB
UykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKIAog
I2luY2x1ZGUgIkRhdGFWaWV3LmgiCiAKQEAgLTIzMiw0ICsyMzIsNCBAQCB2b2lkIERhdGFWaWV3
OjpzZXRGbG9hdDY0KHVuc2lnbmVkIGJ5dGVPCiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9D
QU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxF
KEJMT0IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRGF0YVZpZXcuaWRsCShyZXZp
c2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3LmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogbW9kdWxlIGh0bWwgewogCiAgICAgaW50
ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsCisgICAgICAgIENv
bmRpdGlvbmFsPVdFQkdMfEJMT0IsCiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAg
IEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAgICBDdXN0b21Ub0pTLApJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuY3BwCShyZXZpc2lvbiA3NjUz
MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0Zsb2F0MzJBcnJheS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYg
RU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBF
TkFCTEUoQkxPQikKIAogI2luY2x1ZGUgIkZsb2F0MzJBcnJheS5oIgogCkBAIC02NCw0ICs2NCw0
IEBAIFBhc3NSZWZQdHI8RmxvYXQzMkFycmF5PiBGbG9hdDMyQXJyYXk6OnMKIAogfQogCi0jZW5k
aWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5BQkxF
KFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0Zsb2F0MzJBcnJheS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvRmxvYXQzMkFycmF5LmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3
IEBACiAKIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25h
bD0zRF9DQU5WQVN8QkxPQiwKKyAgICAgICAgQ29uZGl0aW9uYWw9V0VCR0x8QkxPQiwKICAgICAg
ICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAg
ICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9JbnQ4QXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0ludDhBcnJheS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvSW50OEFycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUo
QkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVkZSAiSW50
OEFycmF5LmgiCiAKQEAgLTY0LDQgKzY0LDQgQEAgUGFzc1JlZlB0cjxJbnQ4QXJyYXk+IEludDhB
cnJheTo6c2xpY2UoaQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFC
TEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9JbnQ4QXJyYXkuaWRsCShyZXZpc2lvbiA3NjUzMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogbW9kdWxlIGh0bWwgewogICAgIGludGVyZmFjZSBbCi0g
ICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLAorICAgICAgICBDb25kaXRpb25hbD1X
RUJHTHxCTE9CLAogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0b21Db25z
dHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDE2QXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDE2QXJyYXkuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDE2QXJyYXkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgz
RF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJM
T0IpCiAKICNpbmNsdWRlICJJbnQxNkFycmF5LmgiCiAKQEAgLTYzLDQgKzYzLDQgQEAgUGFzc1Jl
ZlB0cjxJbnQxNkFycmF5PiBJbnQxNkFycmF5OjpzbGljZQogCiB9CiAKLSNlbmRpZiAvLyBFTkFC
TEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8
IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MTZBcnJh
eS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MTZBcnJh
eS5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvSW50
MTZBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogbW9kdWxlIGh0
bWwgewogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9C
LAorICAgICAgICBDb25kaXRpb25hbD1XRUJHTHxCTE9CLAogICAgICAgICBDYW5CZUNvbnN0cnVj
dGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgVjhDdXN0b21D
b25zdHJ1Y3RvciwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJyYXku
Y3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMy
QXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVO
QUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJJbnQzMkFycmF5LmgiCiAK
QEAgLTY0LDQgKzY0LDQgQEAgUGFzc1JlZlB0cjxJbnQzMkFycmF5PiBJbnQzMkFycmF5OjpzbGlj
ZQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJbmRleDogU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDcgKzI2LDcgQEAKIAogbW9kdWxlIGh0bWwgewogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENv
bmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLAorICAgICAgICBDb25kaXRpb25hbD1XRUJHTHxCTE9C
LAogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5j
dGlvbiwKICAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCShyZXZp
c2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVy
aXZhdGl2ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQog
CiAjaW5jbHVkZSAiT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5oIgogCkBAIC01MSw0ICs1MSw0IEBA
IFBhc3NSZWZQdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gT0VTU3QKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFC
TEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERl
cml2YXRpdmVzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9P
RVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjQsNyArMjQsNyBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2Ug
W0NvbmRpdGlvbmFsPTNEX0NBTlZBUywgT21pdENvbnN0cnVjdG9yLCBEb250Q2hlY2tFbnVtc10g
T0VTU3RhbmRhcmREZXJpdmF0aXZlcyB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJH
TCwgT21pdENvbnN0cnVjdG9yLCBEb250Q2hlY2tFbnVtc10gT0VTU3RhbmRhcmREZXJpdmF0aXZl
cyB7CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBGUkFHTUVOVF9TSEFERVJfREVSSVZBVElW
RV9ISU5UX09FUyA9IDB4OEI4QjsKICAgICB9OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxF
KDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJPRVNUZXh0dXJlRmxv
YXQuaCIKIApAQCAtNTEsNCArNTEsNCBAQCBQYXNzUmVmUHRyPE9FU1RleHR1cmVGbG9hdD4gT0VT
VGV4dHVyZUZsCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgz
RF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsCShyZXZpc2lvbiA3NjUzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVGbG9hdC5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDYgKzI0LDYgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJm
YWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsIE9taXRDb25zdHJ1Y3Rvcl0gT0VTVGV4dHVyZUZs
b2F0IHsKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVdFQkdMLCBPbWl0Q29uc3RydWN0b3Jd
IE9FU1RleHR1cmVGbG9hdCB7CiAgICAgfTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1VpbnQ4QXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1VpbnQ4QXJyYXkuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3
IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVO
QUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRl
ICJVaW50OEFycmF5LmgiCiAKQEAgLTY0LDQgKzY0LDQgQEAgUGFzc1JlZlB0cjxVaW50OEFycmF5
PiBVaW50OEFycmF5OjpzbGljZQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKSB8
fCBFTkFCTEUoQkxPQikKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGwJKHJldmlzaW9u
IDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDhBcnJheS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogbW9kdWxlIGh0bWwgewogICAgIGludGVy
ZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLAorICAgICAgICBDb25k
aXRpb25hbD1XRUJHTHxCTE9CLAogICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBD
dXN0b21Db25zdHJ1Y3RGdW5jdGlvbiwKICAgICAgICAgVjhDdXN0b21Db25zdHJ1Y3RvciwKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQxNkFycmF5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5jcHAJKHJldmlzaW9u
IDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAot
I2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkg
fHwgRU5BQkxFKEJMT0IpCiAKICNpbmNsdWRlICJVaW50MTZBcnJheS5oIgogCkBAIC02NCw0ICs2
NCw0IEBAIFBhc3NSZWZQdHI8VWludDE2QXJyYXk+IFVpbnQxNkFycmF5OjpzbGkKIAogfQogCi0j
ZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjZW5kaWYgLy8gRU5B
QkxFKFdFQkdMKSB8fCBFTkFCTEUoQkxPQikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1VpbnQxNkFycmF5LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9VaW50MTZBcnJheS5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3
IEBACiAKIG1vZHVsZSBodG1sIHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25h
bD0zRF9DQU5WQVN8QkxPQiwKKyAgICAgICAgQ29uZGl0aW9uYWw9V0VCR0x8QkxPQiwKICAgICAg
ICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAgQ3VzdG9tQ29uc3RydWN0RnVuY3Rpb24sCiAg
ICAgICAgIFY4Q3VzdG9tQ29uc3RydWN0b3IsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9VaW50MzJBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvVWludDMyQXJyYXkuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBF
TkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogCiAjaW5jbHVk
ZSAiVWludDMyQXJyYXkuaCIKIApAQCAtNjQsNCArNjQsNCBAQCBQYXNzUmVmUHRyPFVpbnQzMkFy
cmF5PiBVaW50MzJBcnJheTo6c2xpCiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMp
IHx8IEVOQUJMRShCTE9CKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0Ip
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MzJBcnJheS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRsCShyZXZp
c2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5Lmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogCiBtb2R1bGUgaHRtbCB7CiAgICAg
aW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsCisgICAgICAg
IENvbmRpdGlvbmFsPVdFQkdMfEJMT0IsCiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAg
ICAgIEN1c3RvbUNvbnN0cnVjdEZ1bmN0aW9uLAogICAgICAgICBWOEN1c3RvbUNvbnN0cnVjdG9y
LApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8u
aWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
QWN0aXZlSW5mby5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIG1vZHVsZSBo
dG1sIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZBUwor
ICAgICAgICBDb25kaXRpb25hbD1XRUJHTAogICAgIF0gV2ViR0xBY3RpdmVJbmZvIHsKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGludCBzaXplOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgaW50IHR5cGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEJ1ZmZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xCdWZmZXIuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMQnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJM
RShXRUJHTCkKIAogI2luY2x1ZGUgIldlYkdMQnVmZmVyLmgiCiAKQEAgLTIwNyw0ICsyMDcsNCBA
QCB2b2lkIFdlYkdMQnVmZmVyOjpjbGVhckNhY2hlZE1heEluZGljZXMoCiAKIH0KIAotI2VuZGlm
IC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbAkocmV2aXNpb24gNzY1MzAp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDYgKzI0LDYgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJm
YWNlIFtDb25kaXRpb25hbD0zRF9DQU5WQVNdIFdlYkdMQnVmZmVyIHsKKyAgICBpbnRlcmZhY2Ug
W0NvbmRpdGlvbmFsPVdFQkdMXSBXZWJHTEJ1ZmZlciB7CiAgICAgfTsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMu
Y3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
Q29udGV4dEF0dHJpYnV0ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAK
ICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxF
KFdFQkdMKQogCiAjaW5jbHVkZSAiV2ViR0xDb250ZXh0QXR0cmlidXRlcy5oIgogCkBAIC0xMTQs
NCArMTE0LDQgQEAgR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgV2ViR0xDb250ZQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMQ29udGV4dEF0dHJpYnV0ZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaWRsCShyZXZpc2lvbiA3NjUzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEF0dHJpYnV0ZXMuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKIG1vZHVsZSBodG1sIHsKICAgICBpbnRl
cmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD0zRF9DQU5WQVMsCisgICAgICAgIENvbmRpdGlv
bmFsPVdFQkdMLAogICAgICAgICBPbWl0Q29uc3RydWN0b3IKICAgICBdIFdlYkdMQ29udGV4dEF0
dHJpYnV0ZXMgewogICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBhbHBoYTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2ZW50LmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGwJKHJldmlz
aW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZl
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKIG1vZHVsZSBodG1sIHsK
ICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD0zRF9DQU5WQVMsCisgICAgICAg
IENvbmRpdGlvbmFsPVdFQkdMLAogICAgIF0gV2ViR0xDb250ZXh0RXZlbnQgOiBFdmVudCB7CiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RhdHVzTWVzc2FnZTsKICAgICAg
ICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCBpbml0RXZlbnQoaW4gRE9NU3RyaW5nIGV2ZW50
VHlwZUFyZywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9u
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVu
c2lvbi5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xFeHRlbnNpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdF
QkdMKQogCiAjaW5jbHVkZSAiV2ViR0xFeHRlbnNpb24uaCIKIApAQCAtNDEsNCArNDEsNCBAQCBX
ZWJHTEV4dGVuc2lvbjo6fldlYkdMRXh0ZW5zaW9uKCkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVy
LmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TEZyYW1lYnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJH
TCkKIAogI2luY2x1ZGUgIldlYkdMRnJhbWVidWZmZXIuaCIKIApAQCAtMzU0LDQgKzM1NCw0IEBA
IGJvb2wgV2ViR0xGcmFtZWJ1ZmZlcjo6aW5pdGlhbGl6ZVJlbmRlcmIKIAogfQogCi0jZW5kaWYg
Ly8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmlkbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmlkbAkocmV2aXNp
b24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVy
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBAQAogICovCiAKIG1vZHVsZSBodG1s
IHsKLSAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2ViR0xGcmFtZWJ1ZmZl
ciB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJHTF0gV2ViR0xGcmFtZWJ1ZmZlciB7
CiAgICAgfTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMR2V0SW5m
by5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xHZXRJ
bmZvLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEdldEluZm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNs
dWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdM
KQogCiAjaW5jbHVkZSAiV2ViR0xHZXRJbmZvLmgiCiAKQEAgLTIyOSw0ICsyMjksNCBAQCBQYXNz
UmVmUHRyPFVpbnQ4QXJyYXk+IFdlYkdMR2V0SW5mbzo6Z2V0CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdF
QkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMT2JqZWN0LmNwcAko
cmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTE9iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNs
dWRlICJXZWJHTE9iamVjdC5oIgogCkBAIC02OCw0ICs2OCw0IEBAIHZvaWQgV2ViR0xPYmplY3Q6
OmRlbGV0ZU9iamVjdCgpCiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5k
aWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xQcm9ncmFtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFByb2dyYW0uY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUHJvZ3JhbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAK
IAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFC
TEUoV0VCR0wpCiAKICNpbmNsdWRlICJXZWJHTFByb2dyYW0uaCIKIApAQCAtMTU3LDQgKzE1Nyw0
IEBAIGJvb2wgV2ViR0xQcm9ncmFtOjpkZXRhY2hTaGFkZXIoV2ViR0xTaGEKIAogfQogCi0jZW5k
aWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5pZGwJKHJldmlzaW9uIDc2
NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNiBAQAogICovCiAKIG1vZHVsZSBodG1sIHsKLSAgICBp
bnRlcmZhY2UgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gV2ViR0xQcm9ncmFtIHsKKyAgICBpbnRl
cmZhY2UgW0NvbmRpdGlvbmFsPVdFQkdMXSBXZWJHTFByb2dyYW0gewogICAgIH07CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuY3Bw
CShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyYnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkK
IAogI2luY2x1ZGUgIldlYkdMUmVuZGVyYnVmZmVyLmgiCiAKQEAgLTU3LDQgKzU3LDQgQEAgdm9p
ZCBXZWJHTFJlbmRlcmJ1ZmZlcjo6ZGVsZXRlT2JqZWN0SW1wbAogCiB9CiAKLSNlbmRpZiAvLyBF
TkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmlkbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5pZGwJKHJldmlzaW9u
IDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw2IEBACiAgKi8KIAogbW9kdWxlIGh0bWwg
ewotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTXSBXZWJHTFJlbmRlcmJ1ZmZl
ciB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1XRUJHTF0gV2ViR0xSZW5kZXJidWZmZXIg
ewogICAgIH07CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
M0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIldlYkdMUmVuZGVyaW5n
Q29udGV4dC5oIgogCkBAIC00NjI1LDQgKzQ2MjUsNCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6TFJVSW1hZ2VCdWZmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRs
CShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIG1vZHVs
ZSBodG1sIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPTNEX0NBTlZB
UywKKyAgICAgICAgQ29uZGl0aW9uYWw9V0VCR0wsCiAgICAgICAgIEludGVyZmFjZVVVSUQ9OThm
YjQ4YWUtNzIxNi00ODljLTg2MmItOGUxMjE3ZmM0NDQzLAogICAgICAgICBJbXBsZW1lbnRhdGlv
blVVSUQ9YWI0ZjA3ODEtMTUyZi00NTBlLTk1NDYtNWIzOTg3NDkxYTU0LAogICAgICAgICBDdXN0
b21NYXJrRnVuY3Rpb24sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNo
YWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xT
aGFkZXIuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMU2hhZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJH
TCkKIAogI2luY2x1ZGUgIldlYkdMU2hhZGVyLmgiCiAKQEAgLTUyLDQgKzUyLDQgQEAgdm9pZCBX
ZWJHTFNoYWRlcjo6ZGVsZXRlT2JqZWN0SW1wbChQbGF0ZgogCiB9CiAKLSNlbmRpZiAvLyBFTkFC
TEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMU2hhZGVyLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFNoYWRlci5pZGwJKHJldmlzaW9uIDc2NTMwKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTaGFkZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw2ICsyNCw2IEBACiAgKi8KIAogbW9kdWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9M0RfQ0FOVkFTXSBXZWJHTFNoYWRlciB7CisgICAgaW50ZXJmYWNlIFtDb25kaXRp
b25hbD1XRUJHTF0gV2ViR0xTaGFkZXIgewogICAgIH07CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0Rf
Q0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIldlYkdMVGV4dHVyZS5oIgog
CkBAIC0zNTMsNCArMzUzLDQgQEAgY29uc3QgV2ViR0xUZXh0dXJlOjpMZXZlbEluZm8qIFdlYkdM
VGV4dAogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJM
RShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVGV4dHVyZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJl
LmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFRleHR1cmUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw2IEBACiAgKi8KIAogbW9k
dWxlIGh0bWwgewotICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTXSBXZWJHTFRl
eHR1cmUgeworICAgIGludGVyZmFjZSBbQ29uZGl0aW9uYWw9V0VCR0xdIFdlYkdMVGV4dHVyZSB7
CiAgICAgfTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9y
bUxvY2F0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTFVuaWZvcm1Mb2NhdGlvbi5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9D
QU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVkZSAiV2ViR0xVbmlmb3JtTG9jYXRp
b24uaCIKIApAQCAtNjQsNCArNjQsNCBAQCBHQzNEaW50IFdlYkdMVW5pZm9ybUxvY2F0aW9uOjps
b2NhdGlvbigpCiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8g
RU5BQkxFKFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xVbmlm
b3JtTG9jYXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDYgKzI1LDYgQEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtD
b25kaXRpb25hbD0zRF9DQU5WQVNdIFdlYkdMVW5pZm9ybUxvY2F0aW9uIHsKKyAgICBpbnRlcmZh
Y2UgW0NvbmRpdGlvbmFsPVdFQkdMXSBXZWJHTFVuaWZvcm1Mb2NhdGlvbiB7CiAgICAgfTsKIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYktpdExvc2VDb250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJLaXRMb3NlQ29udGV4
dC5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
S2l0TG9zZUNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNp
bmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdF
QkdMKQogCiAjaW5jbHVkZSAiV2ViS2l0TG9zZUNvbnRleHQuaCIKIApAQCAtNjAsNCArNjAsNCBA
QCB2b2lkIFdlYktpdExvc2VDb250ZXh0Ojpsb3NlQ29udGV4dCgpCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxF
KFdFQkdMKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRl
eHQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYktpdExv
c2VDb250ZXh0LmlkbAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJLaXRMb3NlQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcg
QEAKICAqLwogCiBtb2R1bGUgaHRtbCB7Ci0gICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD0zRF9D
QU5WQVMsIE9taXRDb25zdHJ1Y3Rvcl0gV2ViS2l0TG9zZUNvbnRleHQgeworICAgIGludGVyZmFj
ZSBbQ29uZGl0aW9uYWw9V0VCR0wsIE9taXRDb25zdHJ1Y3Rvcl0gV2ViS2l0TG9zZUNvbnRleHQg
ewogICAgICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkIGxvc2VDb250ZXh0KCk7CiAgICAg
fTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHJldmlzaW9uIDc2NTMwKQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00
OTIsMjggKzQ5MiwyOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRlIENhbnZh
c0dyYWRpZW50Q29uc3RydWN0b3IgQ2FudmFzR3JhZGllbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRDb25zdHJ1Y3RvciBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ7CiAgICAgICAgIGF0dHJpYnV0ZSBJbWFnZURhdGFDb25zdHJ1Y3RvciBJbWFnZURhdGE7Ci0g
ICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVd
IFdlYkdMQWN0aXZlSW5mb0NvbnN0cnVjdG9yIFdlYkdMQWN0aXZlSW5mbzsKLSAgICAgICAgYXR0
cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gV2ViR0xCdWZm
ZXJDb25zdHJ1Y3RvciBXZWJHTEJ1ZmZlcjsKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25h
bD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0gV2ViR0xGcmFtZWJ1ZmZlckNvbnN0cnVjdG9y
IFdlYkdMRnJhbWVidWZmZXI7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9M0RfQ0FO
VkFTLEVuYWJsZWRBdFJ1bnRpbWVdIFdlYkdMUHJvZ3JhbUNvbnN0cnVjdG9yIFdlYkdMUHJvZ3Jh
bTsKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVu
dGltZV0gV2ViR0xSZW5kZXJidWZmZXJDb25zdHJ1Y3RvciBXZWJHTFJlbmRlcmJ1ZmZlcjsKLSAg
ICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD0zRF9DQU5WQVMsRW5hYmxlZEF0UnVudGltZV0g
V2ViR0xSZW5kZXJpbmdDb250ZXh0Q29uc3RydWN0b3IgV2ViR0xSZW5kZXJpbmdDb250ZXh0Owot
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPTNEX0NBTlZBUyxFbmFibGVkQXRSdW50aW1l
XSBXZWJHTFNoYWRlckNvbnN0cnVjdG9yIFdlYkdMU2hhZGVyOwotICAgICAgICBhdHRyaWJ1dGUg
W0NvbmRpdGlvbmFsPTNEX0NBTlZBUyxFbmFibGVkQXRSdW50aW1lXSBXZWJHTFRleHR1cmVDb25z
dHJ1Y3RvciBXZWJHTFRleHR1cmU7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9M0Rf
Q0FOVkFTLEVuYWJsZWRBdFJ1bnRpbWVdIFdlYkdMVW5pZm9ybUxvY2F0aW9uQ29uc3RydWN0b3Ig
V2ViR0xVbmlmb3JtTG9jYXRpb247CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VC
R0wsRW5hYmxlZEF0UnVudGltZV0gV2ViR0xBY3RpdmVJbmZvQ29uc3RydWN0b3IgV2ViR0xBY3Rp
dmVJbmZvOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMLEVuYWJsZWRBdFJ1
bnRpbWVdIFdlYkdMQnVmZmVyQ29uc3RydWN0b3IgV2ViR0xCdWZmZXI7CisgICAgICAgIGF0dHJp
YnV0ZSBbQ29uZGl0aW9uYWw9V0VCR0wsRW5hYmxlZEF0UnVudGltZV0gV2ViR0xGcmFtZWJ1ZmZl
ckNvbnN0cnVjdG9yIFdlYkdMRnJhbWVidWZmZXI7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9V0VCR0wsRW5hYmxlZEF0UnVudGltZV0gV2ViR0xQcm9ncmFtQ29uc3RydWN0b3IgV2Vi
R0xQcm9ncmFtOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMLEVuYWJsZWRB
dFJ1bnRpbWVdIFdlYkdMUmVuZGVyYnVmZmVyQ29uc3RydWN0b3IgV2ViR0xSZW5kZXJidWZmZXI7
CisgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCR0wsRW5hYmxlZEF0UnVudGltZV0g
V2ViR0xSZW5kZXJpbmdDb250ZXh0Q29uc3RydWN0b3IgV2ViR0xSZW5kZXJpbmdDb250ZXh0Owor
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMLEVuYWJsZWRBdFJ1bnRpbWVdIFdl
YkdMU2hhZGVyQ29uc3RydWN0b3IgV2ViR0xTaGFkZXI7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9V0VCR0wsRW5hYmxlZEF0UnVudGltZV0gV2ViR0xUZXh0dXJlQ29uc3RydWN0b3Ig
V2ViR0xUZXh0dXJlOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMLEVuYWJs
ZWRBdFJ1bnRpbWVdIFdlYkdMVW5pZm9ybUxvY2F0aW9uQ29uc3RydWN0b3IgV2ViR0xVbmlmb3Jt
TG9jYXRpb247CiAgICAgICAgIGF0dHJpYnV0ZSBUZXh0TWV0cmljc0NvbnN0cnVjdG9yIFRleHRN
ZXRyaWNzOwogCiAgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmdNYXBDb25zdHJ1Y3RvciBET01T
dHJpbmdNYXA7CiAKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9u
YWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
ciBBcnJheUJ1ZmZlcjsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCi0gICAgICAgIGF0dHJp
YnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRB
dFJ1bnRpbWVdIEludDhBcnJheUNvbnN0cnVjdG9yIEludDhBcnJheTsgLy8gVXNhYmxlIHdpdGgg
bmV3IG9wZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlv
bmFsPTNEX0NBTlZBU3xCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIFVpbnQ4QXJyYXlDb25zdHJ1Y3Rv
ciBVaW50OEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0cmli
dXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0
UnVudGltZV0gSW50MTZBcnJheUNvbnN0cnVjdG9yIEludDE2QXJyYXk7IC8vIFVzYWJsZSB3aXRo
IG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRp
b25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBVaW50MTZBcnJheUNvbnN0cnVj
dG9yIFVpbnQxNkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0
cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxl
ZEF0UnVudGltZV0gSW50MzJBcnJheUNvbnN0cnVjdG9yIEludDMyQXJyYXk7IC8vIFVzYWJsZSB3
aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25k
aXRpb25hbD0zRF9DQU5WQVN8QkxPQixFbmFibGVkQXRSdW50aW1lXSBVaW50MzJBcnJheUNvbnN0
cnVjdG9yIFVpbnQzMkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAg
YXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5h
YmxlZEF0UnVudGltZV0gRmxvYXQzMkFycmF5Q29uc3RydWN0b3IgRmxvYXQzMkFycmF5OyAvLyBV
c2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0
ZXIsQ29uZGl0aW9uYWw9M0RfQ0FOVkFTfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gRGF0YVZpZXdD
b25zdHJ1Y3RvciBEYXRhVmlldzsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAg
IGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPVdFQkdMfEJMT0IsRW5hYmxl
ZEF0UnVudGltZV0gQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciBBcnJheUJ1ZmZlcjsgLy8gVXNhYmxl
IHdpdGggbmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENv
bmRpdGlvbmFsPVdFQkdMfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gSW50OEFycmF5Q29uc3RydWN0
b3IgSW50OEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmli
dXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VCR0x8QkxPQixFbmFibGVkQXRSdW50
aW1lXSBVaW50OEFycmF5Q29uc3RydWN0b3IgVWludDhBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3
IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFs
PVdFQkdMfEJMT0IsRW5hYmxlZEF0UnVudGltZV0gSW50MTZBcnJheUNvbnN0cnVjdG9yIEludDE2
QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pT
Q0N1c3RvbUdldHRlcixDb25kaXRpb25hbD1XRUJHTHxCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIFVp
bnQxNkFycmF5Q29uc3RydWN0b3IgVWludDE2QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVy
YXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcixDb25kaXRpb25hbD1XRUJH
THxCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIEludDMyQXJyYXlDb25zdHJ1Y3RvciBJbnQzMkFycmF5
OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0
b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VCR0x8QkxPQixFbmFibGVkQXRSdW50aW1lXSBVaW50MzJB
cnJheUNvbnN0cnVjdG9yIFVpbnQzMkFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IK
KyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VCR0x8QkxP
QixFbmFibGVkQXRSdW50aW1lXSBGbG9hdDMyQXJyYXlDb25zdHJ1Y3RvciBGbG9hdDMyQXJyYXk7
IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3Rv
bUdldHRlcixDb25kaXRpb25hbD1XRUJHTHxCTE9CLEVuYWJsZWRBdFJ1bnRpbWVdIERhdGFWaWV3
Q29uc3RydWN0b3IgRGF0YVZpZXc7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogCiAgICAg
ICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPVdFQl9BVURJTyxFbmFi
bGVkQXRSdW50aW1lXSBBdWRpb0NvbnRleHRDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb0NvbnRleHQ7
IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlv
bmFsPVdFQl9BVURJT10gQXVkaW9QYW5uZXJOb2RlQ29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5u
ZXJOb2RlOyAvLyBOZWVkZWQgZm9yIHBhbm5pbmcgbW9kZWwgY29uc3RhbnRzCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9BTkdMRVdlYktpdEJyaWRnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQU5HTEVXZWJLaXRCcmlk
Z2UuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0FOR0xFV2ViS2l0QnJpZGdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBA
QAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVO
QUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIkFOR0xFV2ViS2l0QnJpZGdlLmgiCiAjaW5jbHVkZSA8
d3RmL093bkFycmF5UHRyLmg+CkBAIC0xMTcsNCArMTE3LDQgQEAgYm9vbCBBTkdMRVdlYktpdEJy
aWRnZTo6dmFsaWRhdGVTaGFkZXJTbwogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFT
KQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5jcHAJKHJldmlzaW9uIDc2
NTMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRlICJjb25m
aWcuaCIKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIKIApAQCAtMTQzNyw0ICsxNDM3LDQgQEAgYm9vbCBH
cmFwaGljc0NvbnRleHQzRDo6cGFja1BpeGVscyhjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJH
TCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dDNEQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0dyYXBoaWNzQ29udGV4dDNEQ0cuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dDNEQ0cuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAot
I2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVkZSAiR3Jh
cGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRDRy5oIgpAQCAtMjU0
LDQgKzI1NCw0IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnBhaW50VG9DYW52YXMoY28KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvRHJhd2luZ0J1ZmZlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwCShyZXZpc2lvbiA3NjUzMCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAKLSNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSB8fCBFTkFCTEUoM0RfQ0FOVkFT
KQorI2lmIEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpIHx8IEVOQUJMRShXRUJHTCkKIAog
I2luY2x1ZGUgIkRyYXdpbmdCdWZmZXIuaCIKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L21hYy9EcmF3aW5nQnVmZmVyTWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9tYWMvRHJhd2luZ0J1ZmZlck1hYy5t
bQkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvbWFjL0RyYXdpbmdCdWZmZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgfHwgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSB8fCBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJEcmF3aW5nQnVmZmVyLmgiCiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHQz
RE1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvR3JhcGhpY3NDb250ZXh0M0RNYWMubW0JKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzQ29udGV4dDNETWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lm
IEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0M0QuaCIKIApAQCAtMjQ3LDQgKzI0Nyw0IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0
M0Q6OmlzR0xFUzJDb21wbGlhbnQKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvV2ViR0xMYXllci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5tbQkocmV2aXNpb24gNzY1MzApCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViR0xMYXllci5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5B
QkxFKFdFQkdMKQogCiAjaW1wb3J0ICJXZWJHTExheWVyLmgiCiAKQEAgLTE2Myw1ICsxNjMsNSBA
QCAtKEdyYXBoaWNzTGF5ZXIqKWxheWVyT3duZXIKIAogQGVuZAogCi0jZW5kaWYgLy8gRU5BQkxF
KDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCiAjZW5kaWYgLy8gVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAJKHJl
dmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0V4dGVuc2lvbnMzRE9wZW5HTC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAK
IAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFC
TEUoV0VCR0wpCiAKICNpbmNsdWRlICJFeHRlbnNpb25zM0RPcGVuR0wuaCIKIApAQCAtMTI1LDQg
KzEyNSw0IEBAIHZvaWQgRXh0ZW5zaW9uczNET3BlbkdMOjpyZW5kZXJidWZmZXJTdG8KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5H
TC5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FO
VkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgi
CiAKQEAgLTE0NzMsNCArMTQ3Myw0IEBAIEV4dGVuc2lvbnMzRCogR3JhcGhpY3NDb250ZXh0M0Q6
OmdldEV4dGUKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9F
eHRlbnNpb25zM0RRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0V4dGVuc2lvbnMzRFF0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBF
TkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIkV4dGVuc2lv
bnMzRFF0LmgiCiAKQEAgLTU4LDQgKzU4LDQgQEAgaW50IEV4dGVuc2lvbnMzRFF0OjpnZXRHcmFw
aGljc1Jlc2V0U3RhdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFC
TEUoM0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dDNEUXQuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3
ICszNCw3IEBACiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wp
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTY3MSw0ICsxNjcxLDQgQEAgYm9vbCBHcmFw
aGljc0NvbnRleHQzRDo6Z2V0SW1hZ2VEYXRhKEltYQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUo
M0RfQ0FOVkFTKQorI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzTGF5ZXJRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NMYXllclF0LmNwcAko
cmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9H
cmFwaGljc0xheWVyUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDUsNyArMzA1LDcgQEAgcHVi
bGljOgogICAgICAgICB9CiAgICAgfSBtX3N0YXRlOwogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykK
KyNpZiBFTkFCTEUoV0VCR0wpCiAgICAgY29uc3QgR3JhcGhpY3NDb250ZXh0M0QqIG1fZ2MzRDsK
ICNlbmRpZgogCkBAIC0zMzUsNyArMzM1LDcgQEAgR3JhcGhpY3NMYXllclF0SW1wbDo6R3JhcGhp
Y3NMYXllclF0SW1wbAogI2lmIEVOQUJMRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgICwgbV90
aWxlZEJhY2tpbmdTdG9yZSgwKQogI2VuZGlmCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBF
TkFCTEUoV0VCR0wpCiAgICAgLCBtX2djM0QoMCkKICNlbmRpZgogewpAQCAtNjQ3LDcgKzY0Nyw3
IEBAIHZvaWQgR3JhcGhpY3NMYXllclF0SW1wbDo6cGFpbnQoUVBhaW50ZXIKICAgICBjYXNlIE1l
ZGlhQ29udGVudFR5cGU6CiAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8gcGFpbnQgYW55dGhp
bmc6IHdlIGhhdmUgYSBRR3JhcGhpY3NJdGVtIGZyb20gdGhlIG1lZGlhIGVsZW1lbnQKICAgICAg
ICAgYnJlYWs7Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAgICAg
Y2FzZSBDYW52YXMzRENvbnRlbnRUeXBlOgogICAgICAgICBtX2djM0QtPnBhaW50KHBhaW50ZXIs
IG9wdGlvbi0+cmVjdCk7CiAgICAgICAgIGJyZWFrOwpAQCAtNzkxLDcgKzc5MSw3IEBAIHZvaWQg
R3JhcGhpY3NMYXllclF0SW1wbDo6Zmx1c2hDaGFuZ2VzKGIKICAgICAgICAgICAgIHNldEZsYWco
SXRlbUhhc05vQ29udGVudHMsICFtX2xheWVyLT5kcmF3c0NvbnRlbnQoKSk7CiAgICAgICAgICAg
ICBicmVhazsKIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogICAg
ICAgICBjYXNlIENhbnZhczNEQ29udGVudFR5cGU6CiAgICAgICAgICAgICBpZiAobV9wZW5kaW5n
Q29udGVudC5jb250ZW50VHlwZSAhPSBtX2N1cnJlbnRDb250ZW50LmNvbnRlbnRUeXBlKQogICAg
ICAgICAgICAgICAgIHVwZGF0ZSgpOwpAQCAtMTI1MCw3ICsxMjUwLDcgQEAgdm9pZCBHcmFwaGlj
c0xheWVyUXQ6OnNldENvbnRlbnRzQmFja2dybwogICAgIEdyYXBoaWNzTGF5ZXI6OnNldENvbnRl
bnRzQmFja2dyb3VuZENvbG9yKGNvbG9yKTsKIH0KIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisj
aWYgRU5BQkxFKFdFQkdMKQogdm9pZCBHcmFwaGljc0xheWVyUXQ6OnNldENvbnRlbnRzVG9HcmFw
aGljc0NvbnRleHQzRChjb25zdCBHcmFwaGljc0NvbnRleHQzRCogY3R4KQogewogICAgIGlmIChj
dHggPT0gbV9pbXBsLT5tX2djM0QpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0xheWVyUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaAkocmV2aXNpb24gNzY1MzApCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0xheWVyUXQuaAko
d29ya2luZyBjb3B5KQpAQCAtMjAsNyArMjAsNyBAQAogI2lmbmRlZiBHcmFwaGljc0xheWVyUXRf
aAogI2RlZmluZSBHcmFwaGljc0xheWVyUXRfaAogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNp
ZiBFTkFCTEUoV0VCR0wpCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIKICNlbmRpZgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKQEAgLTc5LDcgKzc5LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c05lZWRzRGlzcGxheSgpOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRDb250ZW50c1RvTWVkaWEoUGxhdGZvcm1MYXllciopOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRDb250ZW50c0JhY2tncm91bmRDb2xvcihjb25zdCBDb2xvciYpOwotI2lmIEVOQUJMRSgzRF9D
QU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1Rv
R3JhcGhpY3NDb250ZXh0M0QoY29uc3QgR3JhcGhpY3NDb250ZXh0M0QqKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0R3JhcGhpY3NDb250ZXh0M0ROZWVkc0Rpc3BsYXkoKTsKICNlbmRpZgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHQzRFNr
aWEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvR3JhcGhpY3NDb250ZXh0M0RTa2lhLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dDNEU2tpYS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQzRC5oIgogCkBAIC04Nyw0ICs4Nyw0IEBAIGJvb2wgR3JhcGhpY3NDb250
ZXh0M0Q6OmdldEltYWdlRGF0YShJbWEKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gRU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1
cmVNYXBwZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaAkocmV2aXNpb24gNzY1MzApCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NMYXllclRl
eHR1cmVNYXBwZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUg
IkltYWdlLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlck5vZGUuaCIKIAotI2lmIEVOQUJMRSgz
RF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNE
LmgiCiAjZW5kaWYKIApAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IHNldENvbnRlbnRzVG9JbWFnZShJbWFnZSopOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50
c1RvTWVkaWEoUGxhdGZvcm1MYXllciopOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c0Jh
Y2tncm91bmRDb2xvcihjb25zdCBDb2xvciYpOwotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYg
RU5BQkxFKFdFQkdMKQogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1RvR3JhcGhpY3NDb250
ZXh0M0QoY29uc3QgR3JhcGhpY3NDb250ZXh0M0QqKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0R3Jh
cGhpY3NDb250ZXh0M0ROZWVkc0Rpc3BsYXkoKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAJKHJldmlzaW9uIDc2NTMw
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDcgQEAgc3RhdGljIEludFJlY3QgY2xpcEJveChSZW5k
ZXJCb3gqIHJlbmRlcgogCiBzdGF0aWMgaW5saW5lIGJvb2wgaXNBY2NlbGVyYXRlZENhbnZhcyhS
ZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJM
RShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKSB8fCBFTkFCTEUoQUND
RUxFUkFURURfMkRfQ0FOVkFTKQogICAgIGlmIChyZW5kZXJlci0+aXNDYW52YXMoKSkgewogICAg
ICAgICBIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzID0gc3RhdGljX2Nhc3Q8SFRNTENhbnZhc0Vs
ZW1lbnQqPihyZW5kZXJlci0+bm9kZSgpKTsKICAgICAgICAgaWYgKENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQqIGNvbnRleHQgPSBjYW52YXMtPnJlbmRlcmluZ0NvbnRleHQoKSkKQEAgLTI4Nyw3ICsy
ODcsNyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMCiAgICAgICAg
IG1fZ3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlhKG1lZGlhRWxlbWVudC0+cGxhdGZv
cm1MYXllcigpKTsKICAgICB9CiAjZW5kaWYKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFC
TEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEFD
Q0VMRVJBVEVEXzJEX0NBTlZBUykKICAgICBlbHNlIGlmIChpc0FjY2VsZXJhdGVkQ2FudmFzKHJl
bmRlcmVyKSkgewogICAgICAgICBIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzID0gc3RhdGljX2Nh
c3Q8SFRNTENhbnZhc0VsZW1lbnQqPihyZW5kZXJlci0+bm9kZSgpKTsKICAgICAgICAgaWYgKENh
bnZhc1JlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQgPSBjYW52YXMtPnJlbmRlcmluZ0NvbnRleHQo
KSkKQEAgLTgwMyw3ICs4MDMsNyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6Y29udGFpbnNQ
YWludGVkCiAgICAgICAgIHJldHVybiBoYXNCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZChyZW5k
ZXJlcigpKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykgJiYgUExBVEZPUk0oQ0EpICYmICFk
ZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJE
KSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCi0jZWxpZiBFTkFCTEUoM0Rf
Q0FOVkFTKSB8fCBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKQorI2VsaWYgRU5BQkxFKFdF
QkdMKSB8fCBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKQogICAgIGlmIChpc0FjY2VsZXJh
dGVkQ2FudmFzKHJlbmRlcmVyKCkpKQogICAgICAgICByZXR1cm4gaGFzQm94RGVjb3JhdGlvbnNP
ckJhY2tncm91bmQocmVuZGVyZXIoKSk7CiAjZW5kaWYKQEAgLTg0Myw3ICs4NDMsNyBAQCB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6Y29udGVudENoYW5nZWQoCiAgICAgICAgIHVwZGF0ZUFmdGVy
TGF5b3V0KENvbXBvc2l0aW5nQ2hpbGRyZW4sIGlzVXBkYXRlUm9vdCk7CiAgICAgfQogCi0jaWYg
RU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEFDQ0VMRVJBVEVEXzJEX0NBTlZBUykKKyNpZiBF
TkFCTEUoV0VCR0wpIHx8IEVOQUJMRShBQ0NFTEVSQVRFRF8yRF9DQU5WQVMpCiAgICAgaWYgKChj
aGFuZ2VUeXBlID09IFJlbmRlckxheWVyOjpDYW52YXNDaGFuZ2VkKSAmJiBpc0FjY2VsZXJhdGVk
Q2FudmFzKHJlbmRlcmVyKCkpKSB7CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0Q29udGVu
dHNOZWVkc0Rpc3BsYXkoKTsKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vQXVkaW9CdWZmZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dl
YmF1ZGlvL0F1ZGlvQnVmZmVyLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpby9BdWRpb0J1ZmZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKFdFQl9BVURJTykgJiBFTkFC
TEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJfQVVESU8pICYgRU5BQkxFKFdFQkdMKQogCiAj
aW5jbHVkZSAiQXVkaW9CdWZmZXIuaCIKIApAQCAtMTA3LDQgKzEwNyw0IEBAIHZvaWQgQXVkaW9C
dWZmZXI6Onplcm8oKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFC
TEUoV0VCX0FVRElPKSAmIEVOQUJMRSgzRF9DQU5WQVMpCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9B
VURJTykgJiBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRp
b0J1ZmZlci5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9C
dWZmZXIuaWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1
ZGlvQnVmZmVyLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiBtb2R1bGUg
YXVkaW8gewogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTyAm
IDNEX0NBTlZBUworICAgICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8gJiBXRUJHTAogICAgIF0g
QXVkaW9CdWZmZXIgewogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBsZW5ndGg7IC8v
IGluIHNhbXBsZS1mcmFtZXMKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IGR1cmF0
aW9uOyAvLyBpbiBzZWNvbmRzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGlt
ZUFuYWx5c2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFs
dGltZUFuYWx5c2VyLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS93ZWJh
dWRpby9SZWFsdGltZUFuYWx5c2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBA
QAogI2luY2x1ZGUgIkF1ZGlvVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiRkZURnJhbWUuaCIKIAot
I2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdFQkdMKQogI2luY2x1ZGUgIkZsb2F0
MzJBcnJheS5oIgogI2luY2x1ZGUgIlVpbnQ4QXJyYXkuaCIKICNlbmRpZgpAQCAtMTkzLDcgKzE5
Myw3IEBAIHZvaWQgUmVhbHRpbWVBbmFseXNlcjo6ZG9GRlRBbmFseXNpcygpCiAgICAgfQogfQog
Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKIHZvaWQgUmVhbHRp
bWVBbmFseXNlcjo6Z2V0RmxvYXRGcmVxdWVuY3lEYXRhKEZsb2F0MzJBcnJheSogZGVzdGluYXRp
b25BcnJheSkKIHsKQEAgLTI5NCw3ICsyOTQsNyBAQCB2b2lkIFJlYWx0aW1lQW5hbHlzZXI6Omdl
dEJ5dGVUaW1lRG9tYWluCiAgICAgfQogfQogCi0jZW5kaWYgLy8gM0RfQ0FOVkFTCisjZW5kaWYg
Ly8gV0VCR0wKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
MzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBdWRpb0J1czsKIGNsYXNz
IEZGVEZyYW1lOwogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiBj
bGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCkBAIC02MSw3ICs2
MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNtb290aGluZ1RpbWVDb25zdGFudChmbG9hdCBr
KSB7IG1fc21vb3RoaW5nVGltZUNvbnN0YW50ID0gazsgfQogICAgIGZsb2F0IHNtb290aGluZ1Rp
bWVDb25zdGFudCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtX3Ntb290aGlu
Z1RpbWVDb25zdGFudCk7IH0KIAotI2lmIEVOQUJMRSgzRF9DQU5WQVMpCisjaWYgRU5BQkxFKFdF
QkdMKQogICAgIHZvaWQgZ2V0RmxvYXRGcmVxdWVuY3lEYXRhKEZsb2F0MzJBcnJheSopOwogICAg
IHZvaWQgZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEoVWludDhBcnJheSopOwogICAgIHZvaWQgZ2V0Qnl0
ZVRpbWVEb21haW5EYXRhKFVpbnQ4QXJyYXkqKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL1JlYWx0aW1lQW5hbHlzZXJOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlck5vZGUuaAkocmV2aXNpb24gNzY1MzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyTm9kZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNtb290aGluZ1RpbWVDb25z
dGFudChmbG9hdCBrKSB7IG1fYW5hbHlzZXIuc2V0U21vb3RoaW5nVGltZUNvbnN0YW50KGspOyB9
CiAgICAgZmxvYXQgc21vb3RoaW5nVGltZUNvbnN0YW50KCkgY29uc3QgeyByZXR1cm4gbV9hbmFs
eXNlci5zbW9vdGhpbmdUaW1lQ29uc3RhbnQoKTsgfQogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykK
KyNpZiBFTkFCTEUoV0VCR0wpCiAgICAgdm9pZCBnZXRGbG9hdEZyZXF1ZW5jeURhdGEoRmxvYXQz
MkFycmF5KiBhcnJheSkgeyBtX2FuYWx5c2VyLmdldEZsb2F0RnJlcXVlbmN5RGF0YShhcnJheSk7
IH0KICAgICB2b2lkIGdldEJ5dGVGcmVxdWVuY3lEYXRhKFVpbnQ4QXJyYXkqIGFycmF5KSB7IG1f
YW5hbHlzZXIuZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEoYXJyYXkpOyB9CiAgICAgdm9pZCBnZXRCeXRl
VGltZURvbWFpbkRhdGEoVWludDhBcnJheSogYXJyYXkpIHsgbV9hbmFseXNlci5nZXRCeXRlVGlt
ZURvbWFpbkRhdGEoYXJyYXkpOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFs
dGltZUFuYWx5c2VyTm9kZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd2ViYXVk
aW8vUmVhbHRpbWVBbmFseXNlck5vZGUuaWRsCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXJOb2RlLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzksMTAgKzM5LDEwIEBAIG1vZHVsZSBhdWRpbyB7CiAgICAgICAgIAogICAgICAgICAvLyBD
b3BpZXMgdGhlIGN1cnJlbnQgZnJlcXVlbmN5IGRhdGEgaW50byB0aGUgcGFzc2VkIGFycmF5Lgog
ICAgICAgICAvLyBJZiB0aGUgYXJyYXkgaGFzIGZld2VyIGVsZW1lbnRzIHRoYW4gdGhlIGZyZXF1
ZW5jeUJpbkNvdW50LCB0aGUgZXhjZXNzIGVsZW1lbnRzIHdpbGwgYmUgZHJvcHBlZC4KLSAgICAg
ICAgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gdm9pZCBnZXRGbG9hdEZyZXF1ZW5jeURhdGEoaW4g
RmxvYXQzMkFycmF5IGFycmF5KTsKLSAgICAgICAgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gdm9p
ZCBnZXRCeXRlRnJlcXVlbmN5RGF0YShpbiBVaW50OEFycmF5IGFycmF5KTsKKyAgICAgICAgW0Nv
bmRpdGlvbmFsPVdFQkdMXSB2b2lkIGdldEZsb2F0RnJlcXVlbmN5RGF0YShpbiBGbG9hdDMyQXJy
YXkgYXJyYXkpOworICAgICAgICBbQ29uZGl0aW9uYWw9V0VCR0xdIHZvaWQgZ2V0Qnl0ZUZyZXF1
ZW5jeURhdGEoaW4gVWludDhBcnJheSBhcnJheSk7CiAKICAgICAgICAgLy8gUmVhbC10aW1lIHdh
dmVmb3JtIGRhdGEKLSAgICAgICAgW0NvbmRpdGlvbmFsPTNEX0NBTlZBU10gdm9pZCBnZXRCeXRl
VGltZURvbWFpbkRhdGEoaW4gVWludDhBcnJheSBhcnJheSk7CisgICAgICAgIFtDb25kaXRpb25h
bD1XRUJHTF0gdm9pZCBnZXRCeXRlVGltZURvbWFpbkRhdGEoaW4gVWludDhBcnJheSBhcnJheSk7
CiAgICAgfTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAkocmV2
aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjksNyArMjY5LDcgQEAgQmxvYiogWE1MSHR0cFJlcXVlc3Q6OnJl
c3BvbnNlQmxvYihFeGNlcAogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBF
TkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogQXJyYXlCdWZm
ZXIqIFhNTEh0dHBSZXF1ZXN0OjpyZXNwb25zZUFycmF5QnVmZmVyKEV4Y2VwdGlvbkNvZGUmIGVj
KQogewogICAgIGlmIChtX3Jlc3BvbnNlVHlwZUNvZGUgIT0gUmVzcG9uc2VUeXBlQXJyYXlCdWZm
ZXIpIHsKQEAgLTMxMCw3ICszMTAsNyBAQCB2b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZXRSZXNwb25z
ZVR5cGUoY29uCiAgICAgICAgIG1fcmVzcG9uc2VUeXBlQ29kZSA9IFJlc3BvbnNlVHlwZUJsb2I7
CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlVHlwZSA9PSAiYXJyYXlidWZmZXIiKSB7
Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdM
KSB8fCBFTkFCTEUoQkxPQikKICAgICAgICAgbV9yZXNwb25zZVR5cGVDb2RlID0gUmVzcG9uc2VU
eXBlQXJyYXlCdWZmZXI7CiAjZW5kaWYKICAgICB9IGVsc2UKQEAgLTU4NCw3ICs1ODQsNyBAQCB2
b2lkIFhNTEh0dHBSZXF1ZXN0OjpzZW5kKERPTUZvcm1EYXRhKiBiCiAgICAgY3JlYXRlUmVxdWVz
dChlYyk7CiB9CiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBF
TkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogdm9pZCBYTUxIdHRwUmVxdWVzdDo6c2VuZChB
cnJheUJ1ZmZlciogYm9keSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKCFpbml0U2Vu
ZChlYykpCkBAIC03MzcsNyArNzM3LDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6Y2xlYXJSZXNw
b25zZSgpCiAjaWYgRU5BQkxFKFhIUl9SRVNQT05TRV9CTE9CKQogICAgIG1fcmVzcG9uc2VCbG9i
ID0gMDsKICNlbmRpZgotI2lmIEVOQUJMRSgzRF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lm
IEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJMT0IpCiAgICAgbV9iaW5hcnlSZXNwb25zZUJ1aWxk
ZXIuY2xlYXIoKTsKICAgICBtX3Jlc3BvbnNlQXJyYXlCdWZmZXIuY2xlYXIoKTsKICNlbmRpZgpA
QCAtMTA3Miw3ICsxMDcyLDcgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6ZGlkUmVjZWl2ZURhdGEo
Y29ucwogCiAgICAgaWYgKHVzZURlY29kZXIpCiAgICAgICAgIG1fcmVzcG9uc2VCdWlsZGVyLmFw
cGVuZChtX2RlY29kZXItPmRlY29kZShkYXRhLCBsZW4pKTsKLSNpZiBFTkFCTEUoM0RfQ0FOVkFT
KSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wpIHx8IEVOQUJMRShCTE9CKQogICAg
IGVsc2UgaWYgKHJlc3BvbnNlVHlwZUNvZGUoKSA9PSBSZXNwb25zZVR5cGVBcnJheUJ1ZmZlcikg
ewogICAgICAgICAvLyBCdWZmZXIgYmluYXJ5IGRhdGEuCiAgICAgICAgIGlmICghbV9iaW5hcnlS
ZXNwb25zZUJ1aWxkZXIpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAkocmV2
aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAkod29y
a2luZyBjb3B5KQpAQCAtOTUsNyArOTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZW5kKGNvbnN0
IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNlbmQoQmxvYiosIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICB2b2lkIHNlbmQoRE9NRm9ybURhdGEqLCBFeGNlcHRpb25Db2RlJik7Ci0j
aWYgRU5BQkxFKDNEX0NBTlZBUykgfHwgRU5BQkxFKEJMT0IpCisjaWYgRU5BQkxFKFdFQkdMKSB8
fCBFTkFCTEUoQkxPQikKICAgICB2b2lkIHNlbmQoQXJyYXlCdWZmZXIqLCBFeGNlcHRpb25Db2Rl
Jik7CiAjZW5kaWYKICAgICB2b2lkIGFib3J0KCk7CkBAIC0xMTUsNyArMTE1LDcgQEAgcHVibGlj
OgogICAgIFN0cmluZyByZXNwb25zZVR5cGUoKTsKICAgICBSZXNwb25zZVR5cGVDb2RlIHJlc3Bv
bnNlVHlwZUNvZGUoKSBjb25zdCB7IHJldHVybiBtX3Jlc3BvbnNlVHlwZUNvZGU7IH0KICAgICAK
LSNpZiBFTkFCTEUoM0RfQ0FOVkFTKSB8fCBFTkFCTEUoQkxPQikKKyNpZiBFTkFCTEUoV0VCR0wp
IHx8IEVOQUJMRShCTE9CKQogICAgIC8vIHJlc3BvbnNlIGF0dHJpYnV0ZSBoYXMgY3VzdG9tIGdl
dHRlci4KICAgICBBcnJheUJ1ZmZlciogcmVzcG9uc2VBcnJheUJ1ZmZlcihFeGNlcHRpb25Db2Rl
Jik7CiAgICAgQXJyYXlCdWZmZXIqIG9wdGlvbmFsUmVzcG9uc2VBcnJheUJ1ZmZlcigpIGNvbnN0
IHsgcmV0dXJuIG1fcmVzcG9uc2VBcnJheUJ1ZmZlci5nZXQoKTsgfQpAQCAtMjA2LDcgKzIwNiw3
IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBib29sIG1fY3JlYXRlZERvY3VtZW50OwogICAgIG11
dGFibGUgUmVmUHRyPERvY3VtZW50PiBtX3Jlc3BvbnNlWE1MOwogICAgIAotI2lmIEVOQUJMRSgz
RF9DQU5WQVMpIHx8IEVOQUJMRShCTE9CKQorI2lmIEVOQUJMRShXRUJHTCkgfHwgRU5BQkxFKEJM
T0IpCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9iaW5hcnlSZXNwb25zZUJ1aWxkZXI7CiAg
ICAgbXV0YWJsZSBSZWZQdHI8QXJyYXlCdWZmZXI+IG1fcmVzcG9uc2VBcnJheUJ1ZmZlcjsKICNl
bmRpZgpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gNzY1NDkpCisrKyBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMS0yNCAgQ2hy
aXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIEVOQUJMRV8zRF9DQU5WQVMgdG8gRU5BQkxF
X1dFQkdMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MzA0MQorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTEtMDEtMjQgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFdpbmRvd3MgUHJvZHVjdGlvbiBidWlsZCBmaXgKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiA3
NjUzMCkKKysrIFNvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zOCwxMCArMzgsMTAgQEAgRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBU19tYWNvc3ggPSAkKAogRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBU19t
YWNvc3hfMTA2MCA9IDsKIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4XzEwNzAg
PSA7CiAKLUVOQUJMRV8zRF9DQU5WQVMgPSAkKEVOQUJMRV8zRF9DQU5WQVNfJChSRUFMX1BMQVRG
T1JNX05BTUUpKTsKLUVOQUJMRV8zRF9DQU5WQVNfbWFjb3N4ID0gJChFTkFCTEVfM0RfQ0FOVkFT
X21hY29zeF8kKFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SKSk7Ci1FTkFCTEVfM0RfQ0FO
VkFTX21hY29zeF8xMDYwID0gRU5BQkxFXzNEX0NBTlZBUzsKLUVOQUJMRV8zRF9DQU5WQVNfbWFj
b3N4XzEwNzAgPSBFTkFCTEVfM0RfQ0FOVkFTOworRU5BQkxFX1dFQkdMID0gJChFTkFCTEVfV0VC
R0xfJChSRUFMX1BMQVRGT1JNX05BTUUpKTsKK0VOQUJMRV9XRUJHTF9tYWNvc3ggPSAkKEVOQUJM
RV9XRUJHTF9tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOworRU5BQkxF
X1dFQkdMX21hY29zeF8xMDYwID0gRU5BQkxFX1dFQkdMOworRU5BQkxFX1dFQkdMX21hY29zeF8x
MDcwID0gRU5BQkxFX1dFQkdMOwogCiBFTkFCTEVfM0RfUkVOREVSSU5HID0gJChFTkFCTEVfM0Rf
UkVOREVSSU5HXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfM0RfUkVOREVSSU5HX2lw
aG9uZW9zID0gRU5BQkxFXzNEX1JFTkRFUklORzsKQEAgLTEyMSw0ICsxMjEsNCBAQCBFTkFCTEVf
WEhUTUxNUCA9IDsKIEVOQUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVOQUJMRV9YU0xUID0g
RU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNF
KSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JB
R0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxF
X1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQ
VF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFC
TEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAk
KEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NW
R19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9S
RUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQ
QVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfREFUQUJB
U0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RP
UkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZJ
TEVfU1lTVEVNKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU1BR0VfUkVTSVpFUikgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FVEVSX1RBRykgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVO
QUJMRV9QUk9HUkVTU19UQUcpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcp
ICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVf
U1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19G
T1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVf
WFBBVEgpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc2NTQ5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMS0yNCAgQ2hyaXMgTWFycmluICA8Y21h
cnJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ2hhbmdlIEVOQUJMRV8zRF9DQU5WQVMgdG8gRU5BQkxFX1dFQkdMCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzA0MQorCisgICAgICAg
ICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBmZWF0dXJlcy5neXBpOgorICAgICAgICAqIHNyYy9F
eHRlbnNpb25zM0RDaHJvbWl1bS5jcHA6CisgICAgICAgICogc3JjL0dyYXBoaWNzQ29udGV4dDNE
Q2hyb21pdW0uY3BwOgorICAgICAgICAqIHNyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVdlYkdMKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc1dlYkdMRW5hYmxlZCk6CisKIDIwMTEtMDEt
MjQgIFpoZW55YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDc2
NTMwKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCSh3b3JraW5nIGNvcHkp
CkBAIC02NjMsNyArNjYzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICdjaHJvbWl1bV9j
b2RlJzogMSwKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH1dLAotICAg
ICAgICAgICAgICAgIFsnIkVOQUJMRV8zRF9DQU5WQVM9MSIgaW4gZmVhdHVyZV9kZWZpbmVzJywg
eworICAgICAgICAgICAgICAgIFsnIkVOQUJMRV9XRUJHTD0xIiBpbiBmZWF0dXJlX2RlZmluZXMn
LCB7CiAgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwogICAgICAgICAgICAgICAg
ICAgICAgICAgWydPUz09Im1hYyInLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xp
bmtfc2V0dGluZ3MnOiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL2ZlYXR1cmVzLmd5
cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpCShy
ZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQko
d29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQAogICAgICAgIyBjaHJvbWl1bSBidWlsZCwg
b3ZlcnJpZGVzIHRoaXMgbGlzdCB3aXRoIGl0cyBvd24gdmFsdWVzLiBTZWUKICAgICAgICMgZmVh
dHVyZXNfb3ZlcnJpZGUuZ3lwaSBpbmxpbmUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxz
LgogICAgICAgJ2ZlYXR1cmVfZGVmaW5lcyc6IFsKLSAgICAgICAgJ0VOQUJMRV8zRF9DQU5WQVM9
MScsCisgICAgICAgICdFTkFCTEVfV0VCR0w9MScsCiAgICAgICAgICdFTkFCTEVfM0RfUkVOREVS
SU5HPTEnLAogICAgICAgICAnRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUz0xJywKICAgICAg
ICAgJ0VOQUJMRV9CTE9CPTEnLApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0
ZW5zaW9uczNEQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlbnNpb25zM0RDaHJvbWl1bS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5B
QkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAKICNpbmNsdWRlICJFeHRlbnNpb25z
M0RDaHJvbWl1bS5oIgogCkBAIC04OSw0ICs4OSw0IEBAIHZvaWQgRXh0ZW5zaW9uczNEQ2hyb21p
dW06OmNvcHlUZXh0dXJlVG8KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8g
RU5BQkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9t
aXVtLmNwcAkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9H
cmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoM0RfQ0FOVkFTKQorI2lm
IEVOQUJMRShXRUJHTCkKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAKQEAgLTEw
NzMsNCArMTA3Myw0IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0M0Q6OmlzR0xFUzJDb21wbGlhbnQK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKDNEX0NBTlZBUykK
KyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAJKHJldmlzaW9uIDc2NTMwKQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjAyLDE0ICsyMDIsMTQgQEAgYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzV2Vi
QXVkaW9FbmFibAogCiB2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlV2ViR0woYm9vbCBl
bmFibGUpCiB7Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViR0xFbmFibGVkKGVuYWJsZSk7CiAjZW5kaWYK
IH0KIAogYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzV2ViR0xFbmFibGVkKCkKIHsKLSNpZiBF
TkFCTEUoM0RfQ0FOVkFTKQorI2lmIEVOQUJMRShXRUJHTCkKICAgICByZXR1cm4gUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6d2ViR0xSZW5kZXJpbmdDb250ZXh0RW5hYmxlZCgpOwogI2Vsc2UKICAg
ICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NjU0OSkKKysr
IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEy
IEBACisyMDExLTAxLTI0ICBDaHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2UgRU5BQkxF
XzNEX0NBTlZBUyB0byBFTkFCTEVfV0VCR0wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTUzMDQxCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxMS0wMS0yMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvaG4gU3VsbGl2YW4uCkluZGV4OiBT
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkocmV2aXNpb24gNzY1MzApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtMzgs
MTAgKzM4LDEwIEBAIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4ID0gJCgKIEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVNfbWFjb3N4XzEwNjAgPSA7CiBFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTX21hY29zeF8xMDcwID0gOwogCi1FTkFCTEVfM0RfQ0FOVkFTID0gJChF
TkFCTEVfM0RfQ0FOVkFTXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVfM0RfQ0FOVkFT
X21hY29zeCA9ICQoRU5BQkxFXzNEX0NBTlZBU19tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVS
U0lPTl9NQUpPUikpOwotRU5BQkxFXzNEX0NBTlZBU19tYWNvc3hfMTA2MCA9IEVOQUJMRV8zRF9D
QU5WQVM7Ci1FTkFCTEVfM0RfQ0FOVkFTX21hY29zeF8xMDcwID0gRU5BQkxFXzNEX0NBTlZBUzsK
K0VOQUJMRV9XRUJHTCA9ICQoRU5BQkxFX1dFQkdMXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CitF
TkFCTEVfV0VCR0xfbWFjb3N4ID0gJChFTkFCTEVfV0VCR0xfbWFjb3N4XyQoVEFSR0VUX01BQ19P
U19YX1ZFUlNJT05fTUFKT1IpKTsKK0VOQUJMRV9XRUJHTF9tYWNvc3hfMTA2MCA9IEVOQUJMRV9X
RUJHTDsKK0VOQUJMRV9XRUJHTF9tYWNvc3hfMTA3MCA9IEVOQUJMRV9XRUJHTDsKIAogRU5BQkxF
XzNEX1JFTkRFUklORyA9ICQoRU5BQkxFXzNEX1JFTkRFUklOR18kKFJFQUxfUExBVEZPUk1fTkFN
RSkpOwogRU5BQkxFXzNEX1JFTkRFUklOR19pcGhvbmVvcyA9IEVOQUJMRV8zRF9SRU5ERVJJTkc7
CkBAIC0xMjEsNCArMTIxLDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBBVEggPSBF
TkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9C
TE9CKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxF
X0RBVEFMSVNUKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9S
WV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChF
TkFCTEVfRklMVEVSUykgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZVTExTQ1JFRU5f
QVBJKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9JTUFHRV9SRVNJWkVSKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZM
SU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfU0hB
UkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFC
TEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNF
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAk
KEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxF
X0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElFTlRfQkFTRURf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFC
TEVfREFUQUxJU1QpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAk
KEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lNQUdFX1JFU0laRVIpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
UFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09G
RkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9T
SEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVO
QUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19V
U0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMp
ICQoRU5BQkxFX1hIVE1MTVApICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NjU0OSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDEtMjQgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENoYW5nZSBFTkFCTEVfM0RfQ0FOVkFTIHRvIEVOQUJMRV9XRUJH
TAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMwNDEK
KworICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoUVdlYlNldHRpbmdz
UHJpdmF0ZTo6YXBwbHkpOgorCiAyMDExLTAxLTI0ICBSZW5hdGEgSG9kb3ZhbiAgPHJlbmlAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpJbmRleDogU291
cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCShyZXZpc2lvbiA3NjUzMCkKKysrIFNvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MSw3
ICsxNzEsNyBAQCB2b2lkIFFXZWJTZXR0aW5nc1ByaXZhdGU6OmFwcGx5KCkKIAogICAgICAgICBz
ZXR0aW5ncy0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQodmFsdWUpOwogI2VuZGlm
Ci0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VCR0wpCiAgICAgICAgIHZhbHVl
ID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OldlYkdMRW5hYmxlZCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+YXR0cmlidXRlcy52YWx1ZShRV2ViU2V0
dGluZ3M6OldlYkdMRW5hYmxlZCkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA3
NjU0OSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDExLTAxLTI0ICBDaHJpcyBNYXJyaW4gIDxjbWFycmluQGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFu
Z2UgRU5BQkxFXzNEX0NBTlZBUyB0byBFTkFCTEVfV0VCR0wKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzMDQxCisKKyAgICAgICAgKiBXZWJWaWV3LmNw
cDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTEt
MDEtMjQgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdpbmRvd3Mg
UHJvZHVjdGlvbiBidWlsZCBmaXgKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiA3
NjUzMCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00ODA2LDkgKzQ4MDYsOSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hh
bmdlCiAgICAgc2V0dGluZ3MtPnNldFdlYkF1ZGlvRW5hYmxlZCh0cnVlKTsKICNlbmRpZiAvLyBF
TkFCTEUoV0VCX0FVRElPKQogCi0jaWYgRU5BQkxFKDNEX0NBTlZBUykKKyNpZiBFTkFCTEUoV0VC
R0wpCiAgICAgc2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZCh0cnVlKTsKLSNlbmRpZiAgLy8gRU5B
QkxFKDNEX0NBTlZBUykKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCiAKICAgICBociA9IHByZWZz
UHJpdmF0ZS0+aXNETlNQcmVmZXRjaGluZ0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlM
RUQoaHIpKQo=
</data>
<flag name="review"
          id="71450"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80571</attachid>
            <date>2011-01-29 14:11:11 -0800</date>
            <delta_ts>2011-01-31 07:39:04 -0800</delta_ts>
            <desc>Fix build-webkit to use ENABLE_WEBGL</desc>
            <filename>enable-webgl.diff</filename>
            <type>text/plain</type>
            <size>842</size>
            <attacher name="Andrew Wason">rectalogic</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvYnVpbGQtd2Via2l0CShyZXZpc2lvbiA3NzA2MikKKysrIFRvb2xzL1NjcmlwdHMvYnVp
bGQtd2Via2l0CSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsOCArMTE2LDggQEAKICk7CiAKIG15IEBm
ZWF0dXJlcyA9ICgKLSAgICB7IG9wdGlvbiA9PiAiM2QtY2FudmFzIiwgZGVzYyA9PiAiVG9nZ2xl
IDNEIGNhbnZhcyBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFXzNEX0NBTlZBUyIs
IGRlZmF1bHQgPT4gKGlzQXBwbGVNYWNXZWJLaXQoKSAmJiAhaXNUaWdlcigpICYmICFpc0xlb3Bh
cmQoKSksIHZhbHVlID0+IFwkdGhyZWVEQ2FudmFzU3VwcG9ydCB9LAorICAgIHsgb3B0aW9uID0+
ICIzZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgM0QgY2FudmFzIChXZWJHTCkgc3VwcG9ydCIs
CisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9XRUJHTCIsIGRlZmF1bHQgPT4gKGlzQXBwbGVNYWNX
ZWJLaXQoKSAmJiAhaXNUaWdlcigpICYmICFpc0xlb3BhcmQoKSksIHZhbHVlID0+IFwkdGhyZWVE
Q2FudmFzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gIjNkLXJlbmRlcmluZyIsIGRlc2Mg
PT4gIlRvZ2dsZSAzRCByZW5kZXJpbmcgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJM
RV8zRF9SRU5ERVJJTkciLCBkZWZhdWx0ID0+IChpc0FwcGxlTWFjV2ViS2l0KCkgJiYgIWlzVGln
ZXIoKSksIHZhbHVlID0+IFwkdGhyZWVEUmVuZGVyaW5nU3VwcG9ydCB9LAo=
</data>
<flag name="review"
          id="72115"
          type_id="1"
          status="-"
          setter="kbr"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80641</attachid>
            <date>2011-01-31 07:39:04 -0800</date>
            <delta_ts>2011-02-03 16:44:37 -0800</delta_ts>
            <desc>Fix build-webkit to use ENABLE_WEBGL</desc>
            <filename>enable-webgl.diff</filename>
            <type>text/plain</type>
            <size>1431</size>
            <attacher name="Andrew Wason">rectalogic</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDc3MTI4KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTEtMDEtMzEgIEFuZHJldyBXYXNvbiAgPHJlY3RhbG9naWNAcmVjdGFsb2dp
Yy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hhbmdlIEVOQUJMRV8zRF9DQU5WQVMgdG8gRU5BQkxFX1dFQkdMCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzA0MQorCisgICAgICAgICogU2NyaXB0
cy9idWlsZC13ZWJraXQ6IGNoYW5nZSAtLTNkLWNhbnZhcyBidWlsZCBvcHRpb24KKyAgICAgICAg
ICB0byBzZXQgRU5BQkxFX1dFQkdMCisKIDIwMTEtMDEtMzEgIEd1c3Rhdm8gTm9yb25oYSBTaWx2
YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgWGFuIExvcGV6LgpJbmRleDogVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQJKHJldmlzaW9uIDc3MDc1KQorKysgVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQJKHdvcmtpbmcgY29weSkKQEAgLTExNiw4ICsxMTYsOCBA
QCBteSAoCiApOwogCiBteSBAZmVhdHVyZXMgPSAoCi0gICAgeyBvcHRpb24gPT4gIjNkLWNhbnZh
cyIsIGRlc2MgPT4gIlRvZ2dsZSAzRCBjYW52YXMgc3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4g
IkVOQUJMRV8zRF9DQU5WQVMiLCBkZWZhdWx0ID0+IChpc0FwcGxlTWFjV2ViS2l0KCkgJiYgIWlz
VGlnZXIoKSAmJiAhaXNMZW9wYXJkKCkpLCB2YWx1ZSA9PiBcJHRocmVlRENhbnZhc1N1cHBvcnQg
fSwKKyAgICB7IG9wdGlvbiA9PiAiM2QtY2FudmFzIiwgZGVzYyA9PiAiVG9nZ2xlIDNEIGNhbnZh
cyAoV2ViR0wpIHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfV0VCR0wiLCBkZWZh
dWx0ID0+IChpc0FwcGxlTWFjV2ViS2l0KCkgJiYgIWlzVGlnZXIoKSAmJiAhaXNMZW9wYXJkKCkp
LCB2YWx1ZSA9PiBcJHRocmVlRENhbnZhc1N1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICIz
ZC1yZW5kZXJpbmciLCBkZXNjID0+ICJUb2dnbGUgM0QgcmVuZGVyaW5nIHN1cHBvcnQiLAogICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfM0RfUkVOREVSSU5HIiwgZGVmYXVsdCA9PiAoaXNBcHBsZU1h
Y1dlYktpdCgpICYmICFpc1RpZ2VyKCkpLCB2YWx1ZSA9PiBcJHRocmVlRFJlbmRlcmluZ1N1cHBv
cnQgfSwK
</data>
<flag name="review"
          id="72146"
          type_id="1"
          status="-"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>