<?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>189778</bug_id>
          
          <creation_ts>2018-09-19 22:46:13 -0700</creation_ts>
          <short_desc>[JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration</short_desc>
          <delta_ts>2018-09-21 22:27:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1461235</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-19 22:46:13 -0700</bug_when>
    <thetext>LLInt ASM interpreter is 2x faster than CLoop interpreter.
We would like to enable it for non JIT configuration in x64 and ARM64.

I don&apos;t consider enabling this for the other CPU architectures now since no buildbot exists for non JIT configurations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461236</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-19 22:47:06 -0700</bug_when>
    <thetext>Background: https://lists.webkit.org/pipermail/webkit-dev/2018-September/030157.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461237</commentid>
    <comment_count>2</comment_count>
      <attachid>350170</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-19 22:49:15 -0700</bug_when>
    <thetext>Created attachment 350170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461761</commentid>
    <comment_count>3</comment_count>
      <attachid>350338</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-21 02:00:17 -0700</bug_when>
    <thetext>Created attachment 350338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461762</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-21 02:01:51 -0700</bug_when>
    <thetext>Attachment 350338 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:57:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:73:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:86:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:97:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:108:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:130:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 56 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461765</commentid>
    <comment_count>5</comment_count>
      <attachid>350340</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-21 02:12:05 -0700</bug_when>
    <thetext>Created attachment 350340
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461767</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-21 02:15:10 -0700</bug_when>
    <thetext>Attachment 350340 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:57:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:73:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:86:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:97:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:108:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:130:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 57 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461770</commentid>
    <comment_count>7</comment_count>
      <attachid>350342</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-21 02:31:47 -0700</bug_when>
    <thetext>Created attachment 350342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461771</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-21 02:34:27 -0700</bug_when>
    <thetext>Attachment 350342 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:57:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:73:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:86:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:97:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:108:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:130:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 58 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461822</commentid>
    <comment_count>9</comment_count>
      <attachid>350355</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-21 06:56:16 -0700</bug_when>
    <thetext>Created attachment 350355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461823</commentid>
    <comment_count>10</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-21 06:58:18 -0700</bug_when>
    <thetext>Attachment 350355 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:57:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:73:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:86:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:97:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:108:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:130:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 58 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461909</commentid>
    <comment_count>11</comment_count>
      <attachid>350355</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-09-21 10:37:54 -0700</bug_when>
    <thetext>Comment on attachment 350355
Patch

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

r=me with some nits.

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        configuration in X86_64 and ARM64.

Nit: configurations

&gt; Source/JavaScriptCore/ChangeLog:12
&gt; +        This patch enables LLInt for non JIT in X86_64 and ARM64 architectures.

Nit: maybe &quot;for non JIT in&quot; =&gt; &quot;for non JIT builds on&quot;

&gt; Source/JavaScriptCore/ChangeLog:14
&gt; +        configuration. But it is wrong in the new scenario since we have a buildx

typo: &quot;buildx&quot; =&gt; &quot;build&quot;?

&gt; Source/JavaScriptCore/jit/HostCallReturnValue.cpp:-38
&gt; -// Nothing to see here.

Lol solid comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462243</commentid>
    <comment_count>12</comment_count>
      <attachid>350355</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-21 19:46:53 -0700</bug_when>
    <thetext>Comment on attachment 350355
Patch

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

Thank you!

&gt;&gt; Source/JavaScriptCore/ChangeLog:10
&gt;&gt; +        configuration in X86_64 and ARM64.
&gt; 
&gt; Nit: configurations

Fixed.

&gt;&gt; Source/JavaScriptCore/ChangeLog:12
&gt;&gt; +        This patch enables LLInt for non JIT in X86_64 and ARM64 architectures.
&gt; 
&gt; Nit: maybe &quot;for non JIT in&quot; =&gt; &quot;for non JIT builds on&quot;

Fixed.

&gt;&gt; Source/JavaScriptCore/ChangeLog:14
&gt;&gt; +        configuration. But it is wrong in the new scenario since we have a buildx
&gt; 
&gt; typo: &quot;buildx&quot; =&gt; &quot;build&quot;?

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462246</commentid>
    <comment_count>13</comment_count>
      <attachid>350480</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-21 19:55:47 -0700</bug_when>
    <thetext>Created attachment 350480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462248</commentid>
    <comment_count>14</comment_count>
      <attachid>350482</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-21 20:02:55 -0700</bug_when>
    <thetext>Created attachment 350482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462249</commentid>
    <comment_count>15</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-21 20:02:57 -0700</bug_when>
    <thetext>Attachment 350480 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:57:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:73:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:86:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:97:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:108:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:130:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 57 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462257</commentid>
    <comment_count>16</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-09-21 20:23:35 -0700</bug_when>
    <thetext>Attachment 350482 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:57:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:73:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:86:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:97:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:108:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/HostCallReturnValue.cpp:130:  The parameter name &quot;&quot;&quot;&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 6 in 57 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462294</commentid>
    <comment_count>17</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-09-21 22:26:50 -0700</bug_when>
    <thetext>Committed r236381: &lt;https://trac.webkit.org/changeset/236381&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462295</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-21 22:27:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/44701303&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350170</attachid>
            <date>2018-09-19 22:49:15 -0700</date>
            <delta_ts>2018-09-21 02:00:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189778-20180920144914.patch</filename>
            <type>text/plain</type>
            <size>66190</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YWY5MDlmODFmYzZmZjZkODljMmFkNThjNDBiZWI3MDY3NDNmMzVjLi5mZTdhNjhhNmEwM2MwNjI5
MzI0YWNmZTAzNGEzZmM1Y2E0MGY3NmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OSBAQAorMjAxOC0wOS0xOSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93
c3RhcnQub3JnPgorCisgICAgICAgIFtKU0NdIEVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIg
b24gWDY0IGFuZCBBUk02NCBpbiBub24gSklUIGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTc3OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQVBJL3Rlc3RzL1BpbmdQb25nU3Rh
Y2tPdmVyZmxvd1Rlc3QuY3BwOgorICAgICAgICAodGVzdFBpbmdQb25nU3RhY2tPdmVyZmxvdyk6
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWF4RnJhbWVFeHRl
bnRGb3JTbG93UGF0aENhbGwuaDoKKyAgICAgICAgKiBieXRlY29kZS9DYWxsUmV0dXJuT2Zmc2V0
VG9CeXRlY29kZU9mZnNldC5oOiBSZW1vdmVkLgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9j
ay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmNhbGxl
ZVNhdmVSZWdpc3RlcnMgY29uc3QpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6Om51bWJlck9m
TExJbnRCYXNlbGluZUNhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OmxsaW50QmFzZWxpbmVDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMpOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OmNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyk6
CisgICAgICAgICogYnl0ZWNvZGUvT3Bjb2RlLmg6CisgICAgICAgIChKU0M6OnBhZE9wY29kZU5h
bWUpOgorICAgICAgICAqIGhlYXAvSGVhcC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6OmdhdGhl
ckpTU3RhY2tSb290cyk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5jcHA6Cisg
ICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oOgorICAgICAgICAqIGludGVycHJldGVy
L0NMb29wU3RhY2tJbmxpbmVzLmg6CisgICAgICAgICogaW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5o
OgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6
SW50ZXJwcmV0ZXI6OkludGVycHJldGVyKToKKyAgICAgICAgKEpTQzo6VW53aW5kRnVuY3Rvcjo6
Y29weUNhbGxlZVNhdmVzVG9FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIgY29uc3QpOgorICAg
ICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmg6CisgICAgICAgICogaW50ZXJwcmV0ZXIv
U3RhY2tWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpGcmFtZTo6Y2Fs
bGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvVk1FbnRyeVJlY29yZC5o
OgorICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmg6CisgICAgICAgICogaml0L0ZQ
UkluZm8uaDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogaml0L0dQ
UkluZm8uY3BwOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChXVEY6OnByaW50
SW50ZXJuYWwpOgorICAgICAgICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcDoKKyAgICAg
ICAgKEpTQzo6Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpOgorICAgICAgICAq
IGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmg6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAoSlNDOjpnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSk6
IERlbGV0ZWQuCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwOgorICAgICAg
ICAqIGppdC9SZWcuY3BwOgorICAgICAgICAqIGppdC9SZWcuaDoKKyAgICAgICAgKiBqaXQvUmVn
aXN0ZXJBdE9mZnNldC5jcHA6CisgICAgICAgICogaml0L1JlZ2lzdGVyQXRPZmZzZXQuaDoKKyAg
ICAgICAgKiBqaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuY3BwOgorICAgICAgICAqIGppdC9SZWdp
c3RlckF0T2Zmc2V0TGlzdC5oOgorICAgICAgICAqIGppdC9SZWdpc3Rlck1hcC5oOgorICAgICAg
ICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgICogaml0L1JlZ2lzdGVyU2V0Lmg6Cisg
ICAgICAgICogaml0L1RlbXBSZWdpc3RlclNldC5jcHA6CisgICAgICAgICogaml0L1RlbXBSZWdp
c3RlclNldC5oOgorICAgICAgICAqIGxsaW50L0xMSW50Q0xvb3AuY3BwOgorICAgICAgICAqIGxs
aW50L0xMSW50Q0xvb3AuaDoKKyAgICAgICAgKiBsbGludC9MTEludERhdGEuY3BwOgorICAgICAg
ICAoSlNDOjpMTEludDo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChKU0M6OkxMSW50OjpEYXRhOjpw
ZXJmb3JtQXNzZXJ0aW9ucyk6CisgICAgICAgICogbGxpbnQvTExJbnREYXRhLmg6CisgICAgICAg
ICogbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmg6CisgICAgICAgICogbGxpbnQvTExJbnRP
cGNvZGUuaDoKKyAgICAgICAgKiBsbGludC9MTEludFBDUmFuZ2VzLmg6CisgICAgICAgICogbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6TExJTlRfU0xPV19Q
QVRIX0RFQ0wpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgICog
bGxpbnQvTExJbnRUaHVua3MuY3BwOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuY3BwOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTQ0pTVmFsdWUuaDoKKyAgICAgICAgKiBydW50aW1lL01hY2hpbmVDb250ZXh0
Lmg6CisgICAgICAgICogcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcDoKKyAgICAgICAgKEpT
Qzo6U2FtcGxpbmdQcm9maWxlcjo6cHJvY2Vzc1VudmVyaWZpZWRTdGFja1RyYWNlcyk6CisgICAg
ICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjp1cGRhdGVTb2Z0UmVzZXJ2
ZWRab25lU2l6ZSk6CisgICAgICAgIChKU0M6OnNhbml0aXplU3RhY2tGb3JWTSk6CisgICAgICAg
IChKU0M6OlZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCk6CisgICAgICAgICogcnVudGltZS9W
TS5oOgorICAgICAgICAqIHJ1bnRpbWUvVk1JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlZNOjpl
bnN1cmVTdGFja0NhcGFjaXR5Rm9yKToKKyAgICAgICAgKEpTQzo6Vk06OmlzU2FmZVRvUmVjdXJz
ZVNvZnQgY29uc3QpOgorCiAyMDE4LTA5LTE5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBmdW5jdGlvbnMgdG8gbWVhc3VyZSBtZW1vcnkgZm9vdHBy
aW50IHRvIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwppbmRleCBkMzA4YmUxOTI4MmE5YTMxMGU4NDA0YjEwNDRkMDVjZGU0OWRhZGNl
Li5lNzA0Mzc0MjAyYWQ2YTc3YjQzNTJkOTc2NjgxMDA3NTk4ZTE2N2M1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEyIEBACisyMDE4LTA5LTE5ICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFy
dC5vcmc+CisKKyAgICAgICAgW0pTQ10gRW5hYmxlIExMSW50IEFTTSBpbnRlcnByZXRlciBvbiBY
NjQgYW5kIEFSTTY0IGluIG5vbiBKSVQgY29uZmlndXJhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5Nzc4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxOC0w
OS0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
V1RGXSBVc2UgU2VtYXBob3JlIGFuZCBCaW5hcnlTZW1hcGhvcmUgaW5zdGVhZCBvZiBkaXNwYXRj
aF9zZW1hcGhvcmVfdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0
cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvdGVzdHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAKaW5kZXggZmJlNDY4NzIwMzJi
ODYxMDkwMzM0NWY2NDdlYWRkYTM0YzBkODk5MS4uZWQ4NjU4ZWZhMTBmYTViNGQyOTFmYmU3MmFj
YTEyMDBkMDU1Yzk5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0
cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCkBAIC0xMjcsNyArMTI3
LDcgQEAgaW50IHRlc3RQaW5nUG9uZ1N0YWNrT3ZlcmZsb3coKQogCiAgICAgT3B0aW9uczo6c29m
dFJlc2VydmVkWm9uZVNpemUoKSA9IDEyOCAqIEtCOwogICAgIE9wdGlvbnM6OnJlc2VydmVkWm9u
ZVNpemUoKSA9IDY0ICogS0I7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBVU0UoQ19MT09QKQogICAg
IC8vIE5vcm1hbGx5LCB3ZSB3YW50IHRvIGRpc2FibGUgdGhlIExMSU5UIHRvIGZvcmNlIHRoZSB1
c2Ugb2YgSklUdGVkIGNvZGUgd2hpY2ggaXMgbmVjZXNzYXJ5IGZvcgogICAgIC8vIHJlcHJvZHVj
aW5nIHRoZSByZWdyZXNzaW9uIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDg3NDkuIEhvd2V2ZXIsIHdlIG9ubHkKICAgICAvLyB3YW50IHRvIGRvIHRoaXMgaWYg
dGhlIExMSU5UIGlzbid0IHRoZSBvbmx5IGF2YWlsYWJsZSBleGVjdXRpb24gZW5naW5lLgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDk2ZTMzYTIwNTc3YTRhNTc1NGExZmVh
OTQzMmQ3OTY0MDYxMjQzMjIuLjFhZGZhMTRkNjRhMjY0Y2ZjNzBjMDM1ZmY1NjNmN2Q3YTAwMTZl
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIzMiw2ICsyMzIsMTIg
QEAgZWxzZSAoKQogCiAgICAgaWYgKE5PVCBFTkFCTEVfSklUKQogICAgICAgICBzZXQoT0ZGTElO
RV9BU01fQkFDS0VORCAiQ19MT09QIikKKyAgICAgICAgIyBGb3IgbWFqb3IgdHdvIGFyY2hpdGVj
dHVyZXMsIHdlIHVzZSBMTEludCBBU00gaW50ZXJwcmV0ZXJzLgorICAgICAgICBpZiAoV1RGX0NQ
VV9YODZfNjQpCisgICAgICAgICAgICBzZXQoT0ZGTElORV9BU01fQkFDS0VORCAiWDg2XzY0IikK
KyAgICAgICAgZWxzZWlmIChXVEZfQ1BVX0FSTTY0KQorICAgICAgICAgICAgc2V0KE9GRkxJTkVf
QVNNX0JBQ0tFTkQgIkFSTTY0IikKKyAgICAgICAgZW5kaWYgKCkKICAgICBlbmRpZiAoKQogZW5k
aWYgKCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5YzVjNTBjNjIxYjhiNmUz
ZmE3MzhiM2Y5NmJiMjZiMWFkYmQ4ZGZlLi41N2QwZTk2ZTY1OTY2ZTAwZDhmMzFhYmViNjY1MzE1
ZGNmMDRjY2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5LDcgKzEwOSw2
IEBACiAJCTBGMEI4M0E5MTRCQ0Y1NjIwMDg4NUI0RiAvKiBIYW5kbGVySW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwQjgzQTgxNEJDRjU1RTAw
ODg1QjRGIC8qIEhhbmRsZXJJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEYwQjgzQUIxNEJDRjVCQjAwODg1QjRGIC8qIEV4cHJlc3Npb25S
YW5nZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGMEI4M0FBMTRCQ0Y1QjkwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYwQjgzQjExNEJD
RjcxODAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwQjgzQUYxNEJDRjcxNDAwODg1QjRGIC8qIENhbGxMaW5r
SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CTBGMEI4M0I5MTRCQ0Y5NUYwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9m
ZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYw
QjgzQjgxNEJDRjk1QjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYw
Q0FFRkMxRUM0REE2QjAwOTcwRDEyIC8qIEpTSGVhcEZpbmFsaXplclByaXZhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMENBRUZBMUVDNERBNjIw
MDk3MEQxMiAvKiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYwQ0FFRkYxRUM0REE4ODAwOTcwRDEyIC8q
IEhlYXBGaW5hbGl6ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEYwQ0FFRkUxRUM0REE4NTAwOTcwRDEyIC8qIEhlYXBGaW5hbGl6ZXJD
YWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTBGMENENEMyMTVGMUE2MDcwMDMyRjFDMCAvKiBQdXREaXJlY3RJbmRleE1vZGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMENENEMwMTVGMUE2
MDQwMDMyRjFDMCAvKiBQdXREaXJlY3RJbmRleE1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjAxMSw3ICsyMDEwLDYgQEAKIAkJMEYwQjgz
QUExNEJDRjVCOTAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRXhwcmVzc2lvblJhbmdlSW5mby5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRjBCODNBRTE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZv
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhbGxMaW5rSW5mby5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMEI4M0FGMTRCQ0Y3MTQwMDg4NUI0
RiAvKiBDYWxsTGlua0luZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2Fs
bExpbmtJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGMEI4M0I4MTRCQ0Y5
NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNl
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjBDQUVGOTFFQzREQTYyMDA5NzBE
MTIgLyogSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEYwQ0FFRkExRUM0REE2MjAwOTcwRDEyIC8qIEpTSGVhcEZpbmFsaXpl
clByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIZWFwRmluYWxp
emVyUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjBDQUVGRDFFQzRE
QTg1MDA5NzBEMTIgLyogSGVhcEZpbmFsaXplckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhlYXBGaW5hbGl6ZXJDYWxsYmFjay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NjMxLDcgKzc2MjksNiBAQAogCQkJCTBGOTMzMjk0MTRD
QTdEQzEwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5oICovLAogCQkJCTYyNzY3MzIxMUI2ODBD
MUUwMEZEOUYyRSAvKiBDYWxsTW9kZS5jcHAgKi8sCiAJCQkJNjI3NjczMjIxQjY4MEMxRTAwRkQ5
RjJFIC8qIENhbGxNb2RlLmggKi8sCi0JCQkJMEYwQjgzQjgxNEJDRjk1QjAwODg1QjRGIC8qIENh
bGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggKi8sCiAJCQkJMEYzQjdFMjQxOUExMUI4
MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmNwcCAqLywKIAkJCQkwRjNCN0UyNTE5QTExQjgwMDBE
OUJDNTYgLyogQ2FsbFZhcmlhbnQuaCAqLywKIAkJCQk5NjlBMDc5MDBFRDFEM0FFMDBGMUY2ODEg
LyogQ29kZUJsb2NrLmNwcCAqLywKQEAgLTc4MzAsNyArNzgyNyw2IEBACiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTk5REEwMDk5MUJENTk5MjcwMEY0NTc1QyAvKiBf
X2luaXRfXy5weSAqLywKLQkJCQk5OURBMDA5RDFCRDU5OTI3MDBGNDU3NUMgLyogd2tidWlsdGlu
cy5weSAqLywKIAkJCQk5OURBMDA5RTFCRDU5OTI3MDBGNDU3NUMgLyogYnVpbHRpbnNfZ2VuZXJh
dGVfY29tYmluZWRfaGVhZGVyLnB5ICovLAogCQkJCTk5REEwMDlGMUJENTk5MjcwMEY0NTc1QyAv
KiBidWlsdGluc19nZW5lcmF0ZV9jb21iaW5lZF9pbXBsZW1lbnRhdGlvbi5weSAqLywKIAkJCQk0
MTI5NTI3MzFEMkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dy
YXBwZXJfaGVhZGVyLnB5ICovLApAQCAtNzg0Miw2ICs3ODM4LDcgQEAKIAkJCQk5OURBMDA5QTFC
RDU5OTI3MDBGNDU3NUMgLyogYnVpbHRpbnNfZ2VuZXJhdG9yLnB5ICovLAogCQkJCTk5REEwMDlC
MUJENTk5MjcwMEY0NTc1QyAvKiBidWlsdGluc19tb2RlbC5weSAqLywKIAkJCQk5OURBMDA5QzFC
RDU5OTI3MDBGNDU3NUMgLyogYnVpbHRpbnNfdGVtcGxhdGVzLnB5ICovLAorCQkJCTk5REEwMDlE
MUJENTk5MjcwMEY0NTc1QyAvKiB3a2J1aWx0aW5zLnB5ICovLAogCQkJKTsKIAkJCXBhdGggPSB3
a2J1aWx0aW5zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTg0MzksNyArODQzNiw2
IEBACiAJCQkJREUyNkU5MDMxQ0I1REQwNTAwRDJCRTgyIC8qIEJ1aWx0aW5FeGVjdXRhYmxlQ3Jl
YXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdEODAxQTUxODgwRDY2RTAwMjZDMzlCIC8qIEJ1
aWx0aW5FeGVjdXRhYmxlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc1RUU5QjIxOEFBQjdFMjAw
QUFEMDQzIC8qIEJ1aWx0aW5OYW1lcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTlEQTAwQTYxQkQ1
OTkzMTAwRjQ1NzVDIC8qIHdrYnVpbHRpbnMucHkgaW4gSGVhZGVycyAqLywKIAkJCQk5OURBMDBB
NzFCRDU5OTMxMDBGNDU3NUMgLyogYnVpbHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaGVhZGVyLnB5
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTlEQTAwQTgxQkQ1OTkzMTAwRjQ1NzVDIC8qIGJ1aWx0aW5z
X2dlbmVyYXRlX2NvbWJpbmVkX2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDEyOTUyNzcxRDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193
cmFwcGVyX2hlYWRlci5weSBpbiBIZWFkZXJzICovLApAQCAtODQ4MSw3ICs4NDc3LDYgQEAKIAkJ
CQkwRjBCODNCMTE0QkNGNzE4MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwRjkzMzI5RTE0Q0E3REM1MDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTYyNzY3MzI0MUI2ODBDMUUwMEZEOUYyRSAvKiBDYWxsTW9kZS5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJMEYwQjgzQjkxNEJDRjk1RjAwODg1QjRGIC8qIENhbGxSZXR1cm5P
ZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjNCN0UyQjE5QTEx
QjgwMDBEOUJDNTYgLyogQ2FsbFZhcmlhbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFODBDMTk3
MUQ3NzVDREQwMDg1MTBDMCAvKiBDYXRjaFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjI0
RTU0MjE3RUE5RjU5MDBBQkIyMTcgLyogQ0NhbGxIZWxwZXJzLmggaW4gSGVhZGVycyAqLywKQEAg
LTk2ODksNiArOTY4NCw3IEBACiAJCQkJQURCQzU0RDUxREY4RUEyQjAwNUJGNzM4IC8qIFdlYkFz
c2VtYmx5VG9KU0NhbGxlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJGNkMzNUUxRTcxRUIwODAw
ODFGNENDIC8qIFdlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzE4QzQ3QTBFMTZGNUNEMDBCMzQ0NjAgLyogV2ViS2l0QXZhaWxhYmlsaXR5LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5OURBMDBBNjFCRDU5OTMxMDBGNDU3NUMgLyogd2tidWlsdGlucy5weSBp
biBIZWFkZXJzICovLAogCQkJCUE3RENCOTczMTJFNTE5M0YwMDkxMTk0MCAvKiBXcml0ZUJhcnJp
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyQjZENzUzMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0
ZUJhcnJpZXJJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkM4MTUwQTE0MDQzQkY1MDBD
RkE2MDMgLyogV3JpdGVCYXJyaWVyU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50
Rm9yU2xvd1BhdGhDYWxsLmgKaW5kZXggYzZmNTNiMzQ3OTY2YzY2MzU0ZDAxZjhhZDZkY2ZiY2M4
OTc5ZmY3My4uNDMyMTMwNWM2OGU0ZGFmNjI4MjNmNmVlZjc1OTUxZmEyN2E5MzZiZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNs
b3dQYXRoQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWF4RnJh
bWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgSlND
IHsKIC8vIHRoYXQgY2FuIGJlIHVzZWQgZm9yIG91dGdvaW5nIGFyZ3Mgd2hlbiBjYWxsaW5nIGEg
c2xvdyBwYXRoIEMgZnVuY3Rpb24KIC8vIGZyb20gSlMgY29kZS4KIAotI2lmICFFTkFCTEUoSklU
KQorI2lmICFFTkFCTEUoQVNTRU1CTEVSKQogc3RhdGljIGNvbnN0IHNpemVfdCBtYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbCA9IDA7CiAKICNlbGlmIENQVShYODZfNjQpICYmIE9TKFdJTkRP
V1MpCkBAIC02OSw3ICs2OSw3IEBAIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRG
b3JTbG93UGF0aENhbGwgPSA0MDsKIAogQ09NUElMRV9BU1NFUlQoIShtYXhGcmFtZUV4dGVudEZv
clNsb3dQYXRoQ2FsbCAlIHNpemVvZihSZWdpc3RlcikpLCBleHRlbnRfbXVzdF9iZV9pbl9tdWx0
aXBsZXNfb2ZfcmVnaXN0ZXJzKTsKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VN
QkxFUikKIC8vIE1ha2Ugc3VyZSB0aGF0IGNmciAtIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsIGJ5dGVzIHdpbGwgbWFrZSB0aGUgc3RhY2sgcG9pbnRlciBhbGlnbmVkCiBDT01QSUxFX0FT
U0VSVCgobWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgJSAxNikgPT0gMTYgLSBzaXplb2Yo
Q2FsbGVyRnJhbWVBbmRQQyksIGV4dGVudF9tdXN0X2FsaWduX3N0YWNrX2Zyb21fY2FsbGZyYW1l
X3BvaW50ZXIpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9DYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDFiMDBjYmU4MTgxMjJmNmU3MjAyNzdjY2NmMjA2
NmFiZjdlYWE2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29k
ZU9mZnNldC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotbmFtZXNwYWNl
IEpTQyB7Ci0KLSNpZiBFTkFCTEUoSklUKQotLy8gVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBt
YXAgZnJvbSBhIGNhbGwgcmV0dXJuIGxvY2F0aW9uCi0vLyAoZ2l2ZW4gYXMgYW4gb2Zmc2V0IGlu
IGJ5dGVzIGludG8gdGhlIEpJVCBjb2RlKSBiYWNrIHRvCi0vLyB0aGUgYnl0ZWNvZGUgaW5kZXgg
b2YgdGhlIGNvcnJlc3BvbmRpbmcgYnl0ZWNvZGUgb3BlcmF0aW9uLgotLy8gVGhpcyBpcyB0aGVu
IHVzZWQgdG8gbG9vayB1cCB0aGUgY29ycmVzcG9uZGluZyBoYW5kbGVyLgotLy8gRklYTUU6IFRo
aXMgc2hvdWxkIGJlIG1hZGUgaW5saW5pbmcgYXdhcmUhIEN1cnJlbnRseSBpdCBpc24ndAotLy8g
YmVjYXVzZSB3ZSBuZXZlciBpbmxpbmUgY29kZSB0aGF0IGhhcyBleGNlcHRpb24gaGFuZGxlcnMu
Ci1zdHJ1Y3QgQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQgewotICAgIENhbGxSZXR1
cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0KHVuc2lnbmVkIGNhbGxSZXR1cm5PZmZzZXQsIHVuc2ln
bmVkIGJ5dGVjb2RlT2Zmc2V0KQotICAgICAgICA6IGNhbGxSZXR1cm5PZmZzZXQoY2FsbFJldHVy
bk9mZnNldCkKLSAgICAgICAgLCBieXRlY29kZU9mZnNldChieXRlY29kZU9mZnNldCkKLSAgICB7
Ci0gICAgfQotCi0gICAgdW5zaWduZWQgY2FsbFJldHVybk9mZnNldDsKLSAgICB1bnNpZ25lZCBi
eXRlY29kZU9mZnNldDsKLX07Ci0KLWlubGluZSB1bnNpZ25lZCBnZXRDYWxsUmV0dXJuT2Zmc2V0
KENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0KiBwYykKLXsKLSAgICByZXR1cm4gcGMt
PmNhbGxSZXR1cm5PZmZzZXQ7Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDI3YWYwZmRl
MmMwOGM1YTU0ZmI4MTlkMWFjYzNiMTM0ZTc2MzE1ZTMuLmM5YjlkMTY3YjQxZjBiNDFmMDRjYzQ5
ZDQyMjFmN2UwYWI3ZGJjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCkBAIC04OSw3ICs4OSw3IEBACiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50
U3RyZWFtLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAotI2lm
IEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICNpbmNsdWRlICJSZWdpc3RlckF0
T2Zmc2V0TGlzdC5oIgogI2VuZGlmCiAKQEAgLTUwOSw3ICs1MDksNyBAQCBib29sIENvZGVCbG9j
azo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFi
bGUsIFVubGluawogICAgIGlmIChzaXplX3Qgc2l6ZSA9IHVubGlua2VkQ29kZUJsb2NrLT5udW1i
ZXJPZk9iamVjdEFsbG9jYXRpb25Qcm9maWxlcygpKQogICAgICAgICBtX29iamVjdEFsbG9jYXRp
b25Qcm9maWxlcyA9IFJlZkNvdW50ZWRBcnJheTxPYmplY3RBbGxvY2F0aW9uUHJvZmlsZT4oc2l6
ZSk7CiAKLSNpZiBFTkFCTEUoSklUKQorI2lmICFVU0UoQ19MT09QKQogICAgIHNldENhbGxlZVNh
dmVSZWdpc3RlcnMoUmVnaXN0ZXJTZXQ6OmxsaW50QmFzZWxpbmVDYWxsZWVTYXZlUmVnaXN0ZXJz
KCkpOwogI2VuZGlmCiAKQEAgLTIxNDUsNyArMjE0NSw3IEBAIHVuc2lnbmVkIENvZGVCbG9jazo6
cmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXIoKSBjb25zdAogI2VuZGlmIC8vIEVOQUJMRShKSVQp
CiB9CiAKLSNpZiBFTkFCTEUoSklUKQorI2lmICFVU0UoQ19MT09QKQogdm9pZCBDb2RlQmxvY2s6
OnNldENhbGxlZVNhdmVSZWdpc3RlcnMoUmVnaXN0ZXJTZXQgY2FsbGVlU2F2ZVJlZ2lzdGVycykK
IHsKICAgICBtX2NhbGxlZVNhdmVSZWdpc3RlcnMgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlZ2lzdGVy
QXRPZmZzZXRMaXN0PihjYWxsZWVTYXZlUmVnaXN0ZXJzKTsKQEAgLTIxNzIsNiArMjE3Miw5IEBA
IHNpemVfdCBDb2RlQmxvY2s6OmNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpCiB7
CiAgICAgcmV0dXJuIHJvdW5kQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKG1fY2Fs
bGVlU2F2ZVJlZ2lzdGVycy0+c2l6ZSgpKTsKIH0KKyNlbmRpZgorCisjaWYgRU5BQkxFKEpJVCkK
IAogdm9pZCBDb2RlQmxvY2s6OmNvdW50UmVvcHRpbWl6YXRpb24oKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IGEzYTNkMjYzOTAwZDMxMjJjMDll
MjA0ZjMyYjU3YjNlMTAxYTMyYjIuLmVjZjViNzk1ZmUyZDA0ZmFkNTY1OGNjYmRlZWQzZWIzMzcy
Zjk4N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAg
LTY0NSwxMSArNjQ1LDIzIEBAIGNsYXNzIENvZGVCbG9jayA6IHB1YmxpYyBKU0NlbGwgewogICAg
IC8vIHRvIGF2b2lkIHRocmFzaGluZy4KICAgICBKU19FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCBy
ZW9wdGltaXphdGlvblJldHJ5Q291bnRlcigpIGNvbnN0OwogICAgIHZvaWQgY291bnRSZW9wdGlt
aXphdGlvbigpOwotI2lmIEVOQUJMRShKSVQpCisKKyNpZiAhVVNFKENfTE9PUCkKKyAgICB2b2lk
IHNldENhbGxlZVNhdmVSZWdpc3RlcnMoUmVnaXN0ZXJTZXQpOworICAgIHZvaWQgc2V0Q2FsbGVl
U2F2ZVJlZ2lzdGVycyhzdGQ6OnVuaXF1ZV9wdHI8UmVnaXN0ZXJBdE9mZnNldExpc3Q+KTsKKwor
ICAgIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBjYWxsZWVTYXZlUmVnaXN0ZXJzKCkgY29uc3QgeyBy
ZXR1cm4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJzLmdldCgpOyB9CisKICAgICBzdGF0aWMgdW5zaWdu
ZWQgbnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpIHsgcmV0dXJuIFJl
Z2lzdGVyU2V0OjpsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpLm51bWJlck9mU2V0
UmVnaXN0ZXJzKCk7IH0KICAgICBzdGF0aWMgc2l6ZV90IGxsaW50QmFzZWxpbmVDYWxsZWVTYXZl
U3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKTsKICAgICBzaXplX3QgY2FsbGVlU2F2ZVNwYWNlQXNW
aXJ0dWFsUmVnaXN0ZXJzKCk7CisjZWxzZQorICAgIHN0YXRpYyB1bnNpZ25lZCBudW1iZXJPZkxM
SW50QmFzZWxpbmVDYWxsZWVTYXZlUmVnaXN0ZXJzKCkgeyByZXR1cm4gMDsgfQorICAgIHN0YXRp
YyBzaXplX3QgbGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygp
IHsgcmV0dXJuIDA7IH07CisgICAgc2l6ZV90IGNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lz
dGVycygpIHsgcmV0dXJuIDA7IH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKEpJVCkKICAgICB1bnNp
Z25lZCBudW1iZXJPZkRGR0NvbXBpbGVzKCk7CiAKICAgICBpbnQzMl90IGNvZGVUeXBlVGhyZXNo
b2xkTXVsdGlwbGllcigpIGNvbnN0OwpAQCAtNzM5LDE0ICs3NTEsNyBAQCBjbGFzcyBDb2RlQmxv
Y2sgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBib29sIHNob3VsZFJlb3B0aW1pemVOb3coKTsKICAg
ICBib29sIHNob3VsZFJlb3B0aW1pemVGcm9tTG9vcE5vdygpOwogCi0gICAgdm9pZCBzZXRDYWxs
ZWVTYXZlUmVnaXN0ZXJzKFJlZ2lzdGVyU2V0KTsKLSAgICB2b2lkIHNldENhbGxlZVNhdmVSZWdp
c3RlcnMoc3RkOjp1bmlxdWVfcHRyPFJlZ2lzdGVyQXRPZmZzZXRMaXN0Pik7Ci0gICAgCi0gICAg
UmVnaXN0ZXJBdE9mZnNldExpc3QqIGNhbGxlZVNhdmVSZWdpc3RlcnMoKSBjb25zdCB7IHJldHVy
biBtX2NhbGxlZVNhdmVSZWdpc3RlcnMuZ2V0KCk7IH0KICNlbHNlIC8vIE5vIEpJVAotICAgIHN0
YXRpYyB1bnNpZ25lZCBudW1iZXJPZkxMSW50QmFzZWxpbmVDYWxsZWVTYXZlUmVnaXN0ZXJzKCkg
eyByZXR1cm4gMDsgfQotICAgIHN0YXRpYyBzaXplX3QgbGxpbnRCYXNlbGluZUNhbGxlZVNhdmVT
cGFjZUFzVmlydHVhbFJlZ2lzdGVycygpIHsgcmV0dXJuIDA7IH07Ci0gICAgc2l6ZV90IGNhbGxl
ZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpIHsgcmV0dXJuIDA7IH0KICAgICB2b2lkIG9w
dGltaXplQWZ0ZXJXYXJtVXAoKSB7IH0KICAgICB1bnNpZ25lZCBudW1iZXJPZkRGR0NvbXBpbGVz
KCkgeyByZXR1cm4gMDsgfQogI2VuZGlmCkBAIC05NjUsOCArOTcwLDEwIEBAIGNsYXNzIENvZGVC
bG9jayA6IHB1YmxpYyBKU0NlbGwgewogICAgIFNlbnRpbmVsTGlua2VkTGlzdDxMTEludENhbGxM
aW5rSW5mbywgQmFzaWNSYXdTZW50aW5lbE5vZGU8TExJbnRDYWxsTGlua0luZm8+PiBtX2luY29t
aW5nTExJbnRDYWxsczsKICAgICBTdHJ1Y3R1cmVXYXRjaHBvaW50TWFwIG1fbGxpbnRHZXRCeUlk
V2F0Y2hwb2ludE1hcDsKICAgICBQb2lzb25lZFJlZlB0cjxDb2RlQmxvY2tQb2lzb24sIEpJVENv
ZGU+IG1faml0Q29kZTsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFVU0UoQ19MT09QKQogICAgIHN0
ZDo6dW5pcXVlX3B0cjxSZWdpc3RlckF0T2Zmc2V0TGlzdD4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJz
OworI2VuZGlmCisjaWYgRU5BQkxFKEpJVCkKICAgICBQb2lzb25lZEJhZzxDb2RlQmxvY2tQb2lz
b24sIFN0cnVjdHVyZVN0dWJJbmZvPiBtX3N0dWJJbmZvczsKICAgICBQb2lzb25lZEJhZzxDb2Rl
QmxvY2tQb2lzb24sIEpJVEFkZElDPiBtX2FkZElDczsKICAgICBQb2lzb25lZEJhZzxDb2RlQmxv
Y2tQb2lzb24sIEpJVE11bElDPiBtX211bElDczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9PcGNvZGUuaAppbmRleCA0ZWYyNzRmYWViMzRiMDFmOGVjYmM2ZDRkZjk1NDAxYzg5OTdkYTM4
Li4wYTk0NmJjNDBhY2UzMWQ2ODlkYTFkN2I1OTBkOGUyMmE5NzZkNTJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFjZSBK
U0MgewogI3VuZGVmIE9QQ09ERV9JRF9FTlVNCiAKIGNvbnN0IGludCBtYXhPcGNvZGVMZW5ndGgg
PSA5OwotI2lmICFFTkFCTEUoSklUKQorI2lmIFVTRShDX0xPT1ApCiBjb25zdCBpbnQgbnVtT3Bj
b2RlSURzID0gTlVNQkVSX09GX0JZVEVDT0RFX0lEUyArIE5VTUJFUl9PRl9DTE9PUF9CWVRFQ09E
RV9IRUxQRVJfSURTICsgTlVNQkVSX09GX0JZVEVDT0RFX0hFTFBFUl9JRFM7CiAjZWxzZQogY29u
c3QgaW50IG51bU9wY29kZUlEcyA9IE5VTUJFUl9PRl9CWVRFQ09ERV9JRFMgKyBOVU1CRVJfT0Zf
QllURUNPREVfSEVMUEVSX0lEUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXAuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKaW5kZXgg
N2E0NmE1MmU3YTM3ODU0MDJiZjIxMzc3ZDA4NTQxYTRkNTdjZjBkMC4uMmRmZjc5MjJmNzlmNDU0
NDg3NjY4YzU4OTM0ZDY4MjgwMjY3MDkxNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5j
cHAKQEAgLTY3Miw3ICs2NzIsNyBAQCB2b2lkIEhlYXA6OmdhdGhlclN0YWNrUm9vdHMoQ29uc2Vy
dmF0aXZlUm9vdHMmIHJvb3RzKQogCiB2b2lkIEhlYXA6OmdhdGhlckpTU3RhY2tSb290cyhDb25z
ZXJ2YXRpdmVSb290cyYgcm9vdHMpCiB7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgVVNFKENfTE9P
UCkKICAgICBtX3ZtLT5pbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLmdhdGhlckNvbnNlcnZhdGl2
ZVJvb3RzKHJvb3RzLCAqbV9qaXRTdHViUm91dGluZXMsICptX2NvZGVCbG9ja3MpOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ocm9vdHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NMb29wU3RhY2suY3BwCmluZGV4IGFiYzEwYThmZWFkMjg2MTUxOTY5YmEyMjM1
Y2IzNDdjN2U2MWU4NTcuLjFmZTNiODgwOTEwMThiZmJkODMwMzk4NmFiNzkxZjEyMDVjZDNhYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNr
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5j
cHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDTG9v
cFN0YWNrLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBVU0UoQ19MT09QKQogCiAjaW5jbHVk
ZSAiQ0xvb3BTdGFja0lubGluZXMuaCIKICNpbmNsdWRlICJDb25zZXJ2YXRpdmVSb290cy5oIgpA
QCAtMTYzLDQgKzE2Myw0IEBAIHNpemVfdCBDTG9vcFN0YWNrOjpjb21taXR0ZWRCeXRlQ291bnQo
KQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlm
IC8vIFVTRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ0xvb3BTdGFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NM
b29wU3RhY2suaAppbmRleCA5ZTVkZGExNGIyYmIwZDRmYzc3ZjVjN2Q2OTk0YTdiZjI3NzFmMWJi
Li5iYzBlMzlkNzQ3MmMwOWY2MTM2YzNmM2RmMWI0OTkyZDQzZmVkMWEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmgKQEAgLTI4LDcgKzI4LDcg
QEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBVU0UoQ19MT09QKQog
CiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAg
LTEwNyw0ICsxMDcsNCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
LSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBVU0UoQ19MT09QKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2tJbmxpbmVzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaApp
bmRleCA5OTdmYWY2NmNjMzc4ODhmMTZjMmEzNWYwZGI1MjEzNTYzY2RjM2VlLi5lNGNkMTM2Mzhl
NDk1OWMyMTQyMjkyOTFlZjJjYTBhOTk1YWM5NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaApAQCAtMjUsNyArMjUs
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmICFFTkFCTEUoSklUKQorI2lmIFVTRShDX0xPT1Ap
CiAKICNpbmNsdWRlICJDTG9vcFN0YWNrLmgiCiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCkBAIC01
OSw0ICs1OSw0IEBAIGlubGluZSB2b2lkIENMb29wU3RhY2s6OnNldENMb29wU3RhY2tMaW1pdChS
ZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAv
LyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBVU0UoQ19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0VudHJ5RnJhbWUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9FbnRyeUZyYW1lLmgKaW5kZXggYmU4NDI1OTBmNmU5MGNjZGE2
MTQ4ZmM2MGQwMWJiMjY3YzRhNGM4Ni4uOGJjNzBkZTg0NjRlOTNkMjBkOTBhMGNjYjEyZTFhNjI0
OGI4YThjYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0Vu
dHJ5RnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvRW50cnlG
cmFtZS5oCkBAIC0zMSw3ICszMSw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogc3RydWN0IEVudHJ5
RnJhbWUgewotI2lmIEVOQUJMRShKSVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNU
RVJTID4gMAorI2lmICFVU0UoQ19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lT
VEVSUyA+IDAKICAgICBzdGF0aWMgcHRyZGlmZl90IHZtRW50cnlSZWNvcmRPZmZzZXQoKQogICAg
IHsKICAgICAgICAgRW50cnlGcmFtZSogZmFrZUVudHJ5RnJhbWUgPSByZWludGVycHJldF9jYXN0
PEVudHJ5RnJhbWUqPigweDEwMDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggNzEyNmQwMjlmNjIyM2IyZWEyMDAyNmE5MjY1
ZGQ5NTJlYjQwNTI1NS4uNzUzMjYyZGM2YjgxYWM2NGM5OGFkZjBmMzVlN2ExMDU2NTVjMjY1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIu
Y3BwCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiUHJvdG9DYWxsRnJhbWUuaCIKICNpbmNs
dWRlICJSZWdFeHBPYmplY3QuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5oIgorI2luY2x1ZGUgIlJl
Z2lzdGVyQXRPZmZzZXRMaXN0LmgiCiAjaW5jbHVkZSAiU2NvcGVkQXJndW1lbnRzLmgiCiAjaW5j
bHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKICNpbmNsdWRlICJTdGFja0ZyYW1lLmgiCkBAIC0zMzIs
NyArMzMzLDcgQEAgdm9pZCBzZXR1cEZvcndhcmRBcmd1bWVudHNGcmFtZUFuZFNldFRoaXMoQ2Fs
bEZyYW1lKiBleGVjQ2FsbGVyLCBDYWxsRnJhbWUqIGV4ZWMKIAogSW50ZXJwcmV0ZXI6OkludGVy
cHJldGVyKFZNJiB2bSkKICAgICA6IG1fdm0odm0pCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgVVNF
KENfTE9PUCkKICAgICAsIG1fY2xvb3BTdGFjayh2bSkKICNlbmRpZgogewpAQCAtNTYzLDcgKzU2
NCw3IEBAIGNsYXNzIFVud2luZEZ1bmN0b3IgewogcHJpdmF0ZToKICAgICB2b2lkIGNvcHlDYWxs
ZWVTYXZlc1RvRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKFN0YWNrVmlzaXRvciYgdmlzaXRv
cikgY29uc3QKICAgICB7Ci0jaWYgRU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZF
U19SRUdJU1RFUlMgPiAwCisjaWYgIVVTRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FW
RVNfUkVHSVNURVJTID4gMAogICAgICAgICBSZWdpc3RlckF0T2Zmc2V0TGlzdCogY3VycmVudENh
bGxlZVNhdmVzID0gdmlzaXRvci0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygpOwogCiAgICAgICAgIGlm
ICghY3VycmVudENhbGxlZVNhdmVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCAwOGQ2NWJhNWJhZTM3NjAxNmZhNDcxMjkyOGJjNGZi
YWVkNDI1NWZlLi43Y2I4ODFmZGRiZGExMmQ2MWNjMDIyNDhiOWQ1NTNjZTBjNDBiMGVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaApAQCAt
MzYsNyArMzYsNyBAQAogI2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KIAotI2lmICFFTkFCTEUoSklUKQorI2lmIFVTRShDX0xPT1ApCiAjaW5jbHVk
ZSAiQ0xvb3BTdGFjay5oIgogI2VuZGlmCiAKQEAgLTkzLDcgKzkzLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIEludGVycHJldGVyKFZNICYpOwogICAgICAgICB+SW50ZXJwcmV0ZXIoKTsK
ICAgICAgICAgCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgVVNFKENfTE9PUCkKICAgICAgICAgQ0xv
b3BTdGFjayYgY2xvb3BTdGFjaygpIHsgcmV0dXJuIG1fY2xvb3BTdGFjazsgfQogI2VuZGlmCiAg
ICAgICAgIApAQCAtMTQ3LDcgKzE0Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU1Zh
bHVlIGV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYpOwogCiAgICAgICAgIFZNJiBtX3ZtOwotI2lm
ICFFTkFCTEUoSklUKQorI2lmIFVTRShDX0xPT1ApCiAgICAgICAgIENMb29wU3RhY2sgbV9jbG9v
cFN0YWNrOwogI2VuZGlmCiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAppbmRleCA2MDkxMWFiMWU1N2MxZDUxMjM3ZDlj
YzdmNmEwOTY1ZWViMjdhNjI0Li5iNjk3NTAwZDI4NmM5ZjIzZTMwMDgxNjk4MTFhZTQ1NGZiMjEz
NjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tW
aXNpdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tW
aXNpdG9yLmNwcApAQCAtMjU3LDcgKzI1Nyw3IEBAIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBTdGFj
a1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVTYXZlUmVnaXN0ZXJzKCkKICAgICBpZiAoaXNJbmxpbmVk
RnJhbWUoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSNpZiBFTkFCTEUoSklUKSAmJiBO
VU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKKyNpZiAhVVNFKENfTE9PUCkgJiYg
TlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCiAKICNpZiBFTkFCTEUoV0VCQVNT
RU1CTFkpCiAgICAgaWYgKGlzV2FzbUZyYW1lKCkpIHsKQEAgLTI3Myw3ICsyNzMsNyBAQCBSZWdp
c3RlckF0T2Zmc2V0TGlzdCogU3RhY2tWaXNpdG9yOjpGcmFtZTo6Y2FsbGVlU2F2ZVJlZ2lzdGVy
cygpCiAgICAgaWYgKENvZGVCbG9jayogY29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2NrKCkpCiAg
ICAgICAgIHJldHVybiBjb2RlQmxvY2stPmNhbGxlZVNhdmVSZWdpc3RlcnMoKTsKIAotI2VuZGlm
IC8vIEVOQUJMRShKSVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAor
I2VuZGlmIC8vICFVU0UoQ19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVS
UyA+IDAKIAogICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL1ZNRW50cnlSZWNvcmQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9WTUVudHJ5UmVjb3JkLmgKaW5kZXggZWRiN2U3ZThjOGJiYzI5ODVk
MWM0MTVjYTQ1ZTlmNTBlZmM2YzZkMC4uYTcyNzVkYTBiNjZhMzE4OTliYTY4Y2FlZTc1N2EyNjA5
YTE0YzVlOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZN
RW50cnlSZWNvcmQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvVk1F
bnRyeVJlY29yZC5oCkBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBWTUVudHJ5UmVjb3JkIHsKIAog
ICAgIEpTT2JqZWN0KiBjYWxsZWUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZTsgfQogCi0jaWYg
RU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCisjaWYg
IVVTRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAogICAg
IGludHB0cl90IGNhbGxlZVNhdmVSZWdpc3RlcnNCdWZmZXJbTlVNQkVSX09GX0NBTExFRV9TQVZF
U19SRUdJU1RFUlNdOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggMThiZGU0MWNlNGYxNDg5MzkyZDU5ZWUyNmNiMjNj
MmYyNDRiMjg0Ny4uMDc3ZWQ1ODJlYTk0OGE0MTQxZGRhZTI3N2QwYjQ0ZWQ0MzUwN2ZiNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAg
LTE0NSw3ICsxNDUsNyBAQCBjbGFzcyBFeGVjdXRhYmxlQWxsb2NhdG9yIHsKIAogI2Vsc2UKIGlu
bGluZSBib29sIGlzSklUUEModm9pZCopIHsgcmV0dXJuIGZhbHNlOyB9Ci0jZW5kaWYgLy8gRU5B
QkxFKEpJVCkgJiYgRU5BQkxFKEFTU0VNQkxFUikKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVS
KQogCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9GUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8uaApp
bmRleCBhMjRkMWNiNzVhM2ZmOTliNjM4OTVlYmJkMTc5YWU2MTQyZGE1NmVjLi40OGY0MDIyZWRl
M2E3YjI3OGI4ZWI1MWM2ZmU4YTNkN2MyMTcyYjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0ZQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQ
UkluZm8uaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIHR5cGVkZWYgTWFjcm9B
c3NlbWJsZXI6OkZQUmVnaXN0ZXJJRCBGUFJSZWc7CiBzdGF0aWMgY29uc3RleHByIEZQUlJlZyBJ
bnZhbGlkRlBSUmVnIHsgRlBSUmVnOjpJbnZhbGlkRlBSUmVnIH07CiAKLSNpZiBFTkFCTEUoSklU
KQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KQog
CkBAIC0zMzIsNyArMzMyLDcgQEAgY2xhc3MgRlBSSW5mbyB7CiAvLyBXZSB1c2UgdGhpcyBoYWNr
IHRvIGdldCB0aGUgRlBSSW5mbyBmcm9tIHRoZSBGUFJSZWcgdHlwZSBpbiB0ZW1wbGF0ZXMgYmVj
YXVzZSBvdXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVsIGJhZC4uCiBjb25zdGV4cHIg
RlBSSW5mbyB0b0luZm9Gcm9tUmVnKEZQUlJlZykgeyByZXR1cm4gRlBSSW5mbygpOyB9CiAKLSNl
bmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCkBAIC0zNDAsNyArMzQwLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIGlu
bGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpGUFJSZWcgcmVn
KQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICAgICBvdXQucHJp
bnQoIiUiLCBKU0M6OkZQUkluZm86OmRlYnVnTmFtZShyZWcpKTsKICNlbHNlCiAgICAgb3V0LnBy
aW50ZigiJSVmciVkIiwgcmVnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvR1BSSW5mby5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uY3BwCmlu
ZGV4IDVhODAwNWY5Yjg1ZDFjMGNmOThlMGMzMDNmZTkxYWE1MTZkNTk5MmYuLmFmOGUzNTgwNzRj
ZDQ1MzM4ZDQ2NTQ5MWE1MmUwMjFhODcwN2JmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvR1BSSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9H
UFJJbmZvLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkdQUkluZm8uaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikK
IAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQ4LDQgKzQ4LDQgQEAgY29uc3QgR1BSUmVnIEdQUklu
Zm86OnBhdGNocG9pbnRTY3JhdGNoUmVnaXN0ZXIgPSBBUk02NFJlZ2lzdGVyczo6aXAwOwogCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5B
QkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BS
SW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5kZXggMmQzNzRl
M2I4NTlkM2RhYzc2ZmI4ZjRkZmMwOGExMGYxMzAwZTg3NC4uODA1NDQ5ZjdiMTU3ZjIxMzRhNzFk
M2Q5OGFmMzhlNjk5MWZmNzQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9HUFJJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAg
LTQxLDcgKzQxLDcgQEAgZW51bSBOb1Jlc3VsdFRhZyB7IE5vUmVzdWx0IH07CiB0eXBlZGVmIE1h
Y3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIEdQUlJlZzsKIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVn
IEludmFsaWRHUFJSZWcgeyBHUFJSZWc6OkludmFsaWRHUFJSZWcgfTsKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiBjbGFzcyBK
U1ZhbHVlUmVncyB7CkBAIC04MTYsNyArODE2LDcgQEAgaW5saW5lIE5vUmVzdWx0VGFnIGV4dHJh
Y3RSZXN1bHQoTm9SZXN1bHRUYWcpIHsgcmV0dXJuIE5vUmVzdWx0OyB9CiAvLyBXZSB1c2UgdGhp
cyBoYWNrIHRvIGdldCB0aGUgR1BSSW5mbyBmcm9tIHRoZSBHUFJSZWcgdHlwZSBpbiB0ZW1wbGF0
ZXMgYmVjYXVzZSBvdXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVsIGJhZC4uCiBjb25z
dGV4cHIgR1BSSW5mbyB0b0luZm9Gcm9tUmVnKEdQUlJlZykgeyByZXR1cm4gR1BSSW5mbygpOyB9
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCkBAIC04MjQsNyArODI0LDcgQEAgbmFtZXNwYWNlIFdURiB7
CiAKIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpHUFJS
ZWcgcmVnKQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICAgICBv
dXQucHJpbnQoIiUiLCBKU0M6OkdQUkluZm86OmRlYnVnTmFtZShyZWcpKTsKICNlbHNlCiAgICAg
b3V0LnByaW50ZigiJSVyJWQiLCByZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5jcHAKaW5kZXggZThkMDE5MTZiOWM1OTA0Nzk1Y2NjNWRi
NmM0ZTZjZTgzNjExMTMwMi4uNzZkOGJhNWNkZDcxYmNhYmFmMmIzN2ZiYTEyNzQxNzZkMmNjYWI1
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZh
bHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFs
dWUuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
SG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogCisjaWYgIVVTRShDX0xPT1ApCisKICNpbmNsdWRlICJD
YWxsRnJhbWUuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
T2JqZWN0LmgiCkBAIC0zNSw3ICszNywxMDkgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLS8vIE5v
dGhpbmcgdG8gc2VlIGhlcmUuCisvLyBOb3RlOiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4
ZWNTdGF0ZSgpIG5lZWRzIHRvIGJlIHBsYWNlZCBiZWZvcmUgdGhlCisvLyBkZWZpbml0aW9uIG9m
IGdldEhvc3RDYWxsUmV0dXJuVmFsdWUoKSBiZWxvdyBiZWNhdXNlIHRoZSBXaW5kb3dzIGJ1aWxk
CisvLyByZXF1aXJlcyBpdC4KK2V4dGVybiAiQyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JF
VFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUoRXhl
Y1N0YXRlKiBleGVjKQoreworICAgIGlmICghZXhlYykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShKU1ZhbHVlKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZXhlYy0+dm0o
KS5ob3N0Q2FsbFJldHVyblZhbHVlKTsKK30KKworI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykg
JiYgQ1BVKFg4Nl82NCkKK2FzbSAoCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2Fs
bFJldHVyblZhbHVlKSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
XG4iCitTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCisgICAg
ImxlYSAtOCglcnNwKSwgJXJkaVxuIgorICAgICJqbXAgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKKyk7CisKKyNlbGlmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykgJiYgQ1BVKFg4NikKK2FzbSAoCisiLnRleHQiICJcbiIgXAorIi5nbG9i
bCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSElERV9TWU1C
T0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2Fs
bFJldHVyblZhbHVlKSAiOiIgIlxuIgorICAgICJwdXNoICVlYnBcbiIKKyAgICAibW92ICVlc3As
ICVlYXhcbiIKKyAgICAibGVhbCAtNCglZXNwKSwgJWVzcFxuIgorICAgICJwdXNoICVlYXhcbiIK
KyAgICAiY2FsbCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4
ZWNTdGF0ZSkgIlxuIgorICAgICJsZWFsIDgoJWVzcCksICVlc3BcbiIKKyAgICAicG9wICVlYnBc
biIKKyAgICAicmV0XG4iCispOworCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQ
VShBUk1fVEhVTUIyKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5hbGlnbiAyIiAiXG4iCisiLmds
b2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitISURFX1NZ
TUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCisiLnRodW1iIiAiXG4iCisiLnRodW1i
X2Z1bmMgIiBUSFVNQl9GVU5DX1BBUkFNKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZ
TUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICAic3ViIHIw
LCBzcCwgIzgiICJcbiIKKyAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVy
blZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorKTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5nbG9i
bCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSElERV9TWU1C
T0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSU5MSU5FX0FSTV9GVU5DVElPTihnZXRI
b3N0Q2FsbFJldHVyblZhbHVlKQorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiOiIgIlxuIgorICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVG
RVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisj
ZWxpZiBDUFUoQVJNNjQpCithc20gKAorIi50ZXh0IiAiXG4iCisiLmFsaWduIDIiICJcbiIKKyIu
Z2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK0hJREVf
U1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICAgInN1YiB4MCwgc3AsICMxNiIgIlxuIgor
ICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNT
dGF0ZSkgIlxuIgorKTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoTUlQ
UykKKworI2lmIFdURl9NSVBTX1BJQworI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0
aW9uKSBcCisgICAgICAgICIuc2V0IG5vcmVvcmRlciIgIlxuIiBcCisgICAgICAgICIuY3Bsb2Fk
ICQyNSIgIlxuIiBcCisgICAgICAgICIuc2V0IHJlb3JkZXIiICJcbiIgXAorICAgICAgICAibGEg
JHQ5LCAiIExPQ0FMX1JFRkVSRU5DRShmdW5jdGlvbikgIlxuIgorI2Vsc2UKKyNkZWZpbmUgTE9B
RF9GVU5DVElPTl9UT19UOShmdW5jdGlvbikgIiIgIlxuIgorI2VuZGlmCisKK2FzbSAoCisiLnRl
eHQiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUp
ICJcbiIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJPTF9T
VFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICBMT0FEX0ZVTkNUSU9O
X1RPX1Q5KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKQorICAgICJhZGRpICRh
MCwgJHNwLCAtOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxpZiBDT01QSUxFUihNU1ZDKSAm
JiBDUFUoWDg2KQorZXh0ZXJuICJDIiB7CisgICAgX19kZWNsc3BlYyhuYWtlZCkgRW5jb2RlZEpT
VmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZSgpCisgICAgeworICAgICAgICBfX2FzbSBsZWEgZWF4LCBbZXNwIC0gNF0KKyAgICAgICAgX19h
c20gbW92IFtlc3AgKyA0XSwgZWF4OworICAgICAgICBfX2FzbSBqbXAgZ2V0SG9zdENhbGxSZXR1
cm5WYWx1ZVdpdGhFeGVjU3RhdGUKKyAgICB9Cit9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCiAKKyNlbmRpZiAvLyAhVVNFKENfTE9PUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKaW5kZXggNjJlYjJhNTY2Yjk4MTAyMDI3NzIzYTI3
MjZhZWY0NzI2YWViZDZjZS4uNjM1ZmZlMjQwNTBmZWM3MTM5OGFkYWVjYjliOTdjZjc5MzE1NWQ1
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZh
bHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVl
LmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKIAotI2lmIEVO
QUJMRShKSVQpCisjaWYgIVVTRShDX0xPT1ApCiAKICNpZiBDQUxMSU5HX0NPTlZFTlRJT05fSVNf
U1REQ0FMTAogI2RlZmluZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBDREVDTApAQCAt
NTcsNCArNTcsNCBAQCBpbmxpbmUgdm9pZCBpbml0aWFsaXplSG9zdENhbGxSZXR1cm5WYWx1ZSgp
IHsgfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5k
aWYgLy8gIVVTRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmNwcAppbmRleCBiMmViNDE4Y2ZmODlkNTIzMDIyYTYxYWRiMGI4YmU0ZjY4ODAyZTYyLi43
YWFjZjZiMWMxNmY5MjE1YTJkODY1ODY2ZjNkMmMzYTg5MWQ0ZWNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTI5MDgsMTA5ICsyOTA4LDYgQEAg
aW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNoZWNrSWZFeGNlcHRpb25Jc1VuY2F0Y2hh
YmxlQW5kTm90aWZ5UHJvZmlsZXIoRXgKIAogfSAvLyBleHRlcm4gIkMiCiAKLS8vIE5vdGU6IGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKCkgbmVlZHMgdG8gYmUgcGxhY2VkIGJl
Zm9yZSB0aGUKLS8vIGRlZmluaXRpb24gb2YgZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSgpIGJlbG93
IGJlY2F1c2UgdGhlIFdpbmRvd3MgYnVpbGQKLS8vIHJlcXVpcmVzIGl0LgotZXh0ZXJuICJDIiBF
bmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgaWYgKCFleGVj
KQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7Ci0gICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShleGVjLT52bSgpLmhvc3RDYWxsUmV0dXJuVmFsdWUpOwotfQotCi0j
aWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2XzY0KQotYXNtICgKLSIuZ2xvYmwg
IiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9M
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLVNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxS
ZXR1cm5WYWx1ZSkgIjoiICJcbiIKLSAgICAibGVhIC04KCVyc3ApLCAlcmRpXG4iCi0gICAgImpt
cCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkg
IlxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2KQotYXNt
ICgKLSIudGV4dCIgIlxuIiBcCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4i
Ci1TWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgInB1
c2ggJWVicFxuIgotICAgICJtb3YgJWVzcCwgJWVheFxuIgotICAgICJsZWFsIC00KCVlc3ApLCAl
ZXNwXG4iCi0gICAgInB1c2ggJWVheFxuIgotICAgICJjYWxsICIgTE9DQUxfUkVGRVJFTkNFKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0gICAgImxlYWwgOCglZXNw
KSwgJWVzcFxuIgotICAgICJwb3AgJWVicFxuIgotICAgICJyZXRcbiIKLSk7Ci0KLSNlbGlmIENP
TVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9USFVNQjIpCi1hc20gKAotIi50ZXh0IiAi
XG4iCi0iLmFsaWduIDIiICJcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxs
UmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJc
biIKLSIudGh1bWIiICJcbiIKLSIudGh1bWJfZnVuYyAiIFRIVU1CX0ZVTkNfUEFSQU0oZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZh
bHVlKSAiOiIgIlxuIgotICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgotICAgICJiICIgTE9DQUxf
UkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0pOwot
Ci0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShBUk1fVFJBRElUSU9OQUwpCi1h
c20gKAotIi50ZXh0IiAiXG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4i
Ci1JTkxJTkVfQVJNX0ZVTkNUSU9OKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCi1TWU1CT0xfU1RS
SU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgInN1YiByMCwgc3AsICM4
IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
dGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENQVShBUk02NCkKLWFzbSAoCi0iLnRleHQi
ICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkg
IlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAg
ICAic3ViIHgwLCBzcCwgIzE2IiAiXG4iCi0gICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0pOwotCi0jZWxpZiBDT01QSUxF
UihHQ0NfT1JfQ0xBTkcpICYmIENQVShNSVBTKQotCi0jaWYgV1RGX01JUFNfUElDCi0jZGVmaW5l
IExPQURfRlVOQ1RJT05fVE9fVDkoZnVuY3Rpb24pIFwKLSAgICAgICAgIi5zZXQgbm9yZW9yZGVy
IiAiXG4iIFwKLSAgICAgICAgIi5jcGxvYWQgJDI1IiAiXG4iIFwKLSAgICAgICAgIi5zZXQgcmVv
cmRlciIgIlxuIiBcCi0gICAgICAgICJsYSAkdDksICIgTE9DQUxfUkVGRVJFTkNFKGZ1bmN0aW9u
KSAiXG4iCi0jZWxzZQotI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0aW9uKSAiIiAi
XG4iCi0jZW5kaWYKLQotYXNtICgKLSIudGV4dCIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJ
TkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0SG9zdENhbGxS
ZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
OiIgIlxuIgotICAgIExPQURfRlVOQ1RJT05fVE9fVDkoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
dGhFeGVjU3RhdGUpCi0gICAgImFkZGkgJGEwLCAkc3AsIC04IiAiXG4iCi0gICAgImIgIiBMT0NB
TF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKLSk7
Ci0KLSNlbGlmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODYpCi1leHRlcm4gIkMiIHsKLSAgICBf
X2RlY2xzcGVjKG5ha2VkKSBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09Q
VElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkKLSAgICB7Ci0gICAgICAgIF9fYXNtIGxlYSBl
YXgsIFtlc3AgLSA0XQotICAgICAgICBfX2FzbSBtb3YgW2VzcCArIDRdLCBlYXg7Ci0gICAgICAg
IF9fYXNtIGptcCBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZQotICAgIH0KLX0K
LSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShKSVQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zTVNWQzY0LmNwcApp
bmRleCA1NDRiY2EzOTQ2YzE5NDVlYzAwM2IyYzBkNTMxZTYwNzVlOTIzYzg0Li4zMWNjNTcxM2Rm
MDQxN2YyOTAzZGRkNDQwZDgzY2E4ZTgxNDBhMzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9uc01TVkM2NC5jcHAKQEAgLTI1LDcgKzI1LDcgQEAKIAog
I2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgIUVOQUJMRShKSVQpICYmIENPTVBJTEVSKE1TVkMp
ICYmIENQVShYODZfNjQpCisjaWYgVVNFKENfTE9PUCkgJiYgQ09NUElMRVIoTVNWQykgJiYgQ1BV
KFg4Nl82NCkKIAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmNwcAppbmRleCA0YWE5NjUzNzQ3NDE4NGIxMTM0MDFh
ZTBjY2Q5NDgxZTIyNzUxMDRiLi4zY2M0OWMwM2Q4Njg4OWQ0YzRjZGEwZTdlMzdlMmI5YWEyNDAx
YmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWcuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVnLmgiCiAKLSNpZiBFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNsdWRlICJGUFJJbmZvLmgiCiAjaW5jbHVkZSAiR1BS
SW5mby5oIgpAQCAtNTQsNSArNTQsNSBAQCB2b2lkIFJlZzo6ZHVtcChQcmludFN0cmVhbSYgb3V0
KSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZWcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKaW5kZXgg
ODRhZTM1OTA0NzY4Y2ZhMWZlMGQyN2FjNWVlNTYwNjUzZDc4OGIwNy4uOWQyNDZhZGU1YmM3MTA1
MDBiN2Y3MTczOTZkMTIxN2IzZWQyMGY1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFC
TEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKIApAQCAtMjQ1LDQg
KzI0NSw0IEBAIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8SlNDOjpSZWc+IDogU2ltcGxl
Q2xhc3NIYXNoVHJhaXRzPEpTQzo6UmVnPiB7CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi0jZW5k
aWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5jcHAKaW5kZXggMTZhNjM5Y2E4
Yzc5NjI2MGVmMzU3NjA1NjE5NDc3NTllMWVlMjU4ZS4uMGU0NGUyZGIxMWU4MDVkMDQzZTMwZGNm
MTQyODk1ZWEwYzhhNWQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlckF0T2Zmc2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lz
dGVyQXRPZmZzZXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldC5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFC
TEUoQVNTRU1CTEVSKQogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDEsNSArNDEsNSBAQCB2b2lk
IFJlZ2lzdGVyQXRPZmZzZXQ6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShB
U1NFTUJMRVIpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0
ZXJBdE9mZnNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0
LmgKaW5kZXggMGRiOGRhNGE3MjYxYjhiOGI3MDBjMTAzZmIzNTJiOGU1YWUyYjJmMy4uY2Q0MTVi
NmQ2NjlmOTM5ZmYxZDM1Y2YzMWM3Y2Q3YjRhMjBlOTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNs
dWRlICJSZWcuaCIKICNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KQEAgLTc0LDQgKzc0LDQg
QEAgY2xhc3MgUmVnaXN0ZXJBdE9mZnNldCB7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5k
aWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmNwcAppbmRleCBk
ZDViNWIzMmYzN2FkMGRkYmEzYzczYmE1OGE1MDc2ZDNlMjk5NDQ4Li42ZmUwNmU3NzYyYjRhNDc5
ZGQwNTE0Njg2MGFhZTliNGRkMWEzZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZzZXRMaXN0LmgiCiAKLSNpZiBF
TkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNsdWRlIDx3dGYvTGlzdER1
bXAuaD4KIApAQCAtNjgsNSArNjgsNSBAQCB1bnNpZ25lZCBSZWdpc3RlckF0T2Zmc2V0TGlzdDo6
aW5kZXhPZihSZWcgcmVnKSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8v
IEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5oCmluZGV4IGUwYjI1NDFh
YjhkYzkyM2ZmNzFlZDQ4ODc2NDUwNjA3NWMzYjllM2MuLjVlM2EzY2IyY2UwMjkzNDExOTU3ZjY4
OTkzMzlkNjc3ZjRhOWY0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnaXN0ZXJBdE9mZnNldExpc3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
Z2lzdGVyQXRPZmZzZXRMaXN0LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNsdWRlICJSZWdp
c3RlckF0T2Zmc2V0LmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXJTZXQuaCIKQEAgLTY5LDQgKzY5LDQg
QEAgY2xhc3MgUmVnaXN0ZXJBdE9mZnNldExpc3QgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAot
I2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJNYXAuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJNYXAuaAppbmRleCAwZjNmOTU3NGYxZjk1ZTZlMDJm
OGJhNDcxNDEwM2Y4ZGIxODJkZDViLi41YTc3OTc3Y2FhOTEyYTA5NWVkYjY4YzcwMjQ1NGQ5YWYx
OGJhMDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyTWFw
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3Rlck1hcC5oCkBAIC0yNSw3
ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUo
QVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIK
QEAgLTEwNyw0ICsxMDcsNCBAQCBjbGFzcyBGUFJNYXAgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MK
IAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKaW5kZXggODUyNTZmN2IxNDYy
NTk5YWVhZWM2N2Q5ZTA3ODQyZGU0YzYxNWMxOC4uYTYwMjE0MWFhODY2MWRkYWJlOTAxYjJmNDI0
NDljZWQzOWZlZTU2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdp
c3RlclNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5j
cHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZWdp
c3RlclNldC5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAj
aW5jbHVkZSAiR1BSSW5mby5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTM5NSw1ICsz
OTUsNSBAQCB2b2lkIFJlZ2lzdGVyU2V0OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBF
TkFCTEUoQVNTRU1CTEVSKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlZ2lzdGVyU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgK
aW5kZXggYzg3ZWFmOGMzYjUzYmNjOGYzMGMxY2FlODk3ODYwM2Q0ZGMwZGMyNS4uZGQ3MzA0MDM4
MDQyMjk1MDhkYTJhZmZjM2VjMzRjMmU2OTQ2N2ZjNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVnaXN0ZXJTZXQuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lm
IEVOQUJMRShKSVQpCisjaWYgIVVTRShDX0xPT1ApCiAKICNpbmNsdWRlICJHUFJJbmZvLmgiCiAj
aW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKQEAgLTI0Niw0ICsyNDYsNCBAQCB0ZW1wbGF0ZTw+
IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6UmVnaXN0ZXJTZXQ+IDogcHVibGljIEN1c3RvbUhhc2hU
cmFpdHM8SlNDOjpSZQogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotI2VuZGlmIC8vIEVOQUJMRShK
SVQpCisjZW5kaWYgLy8gIVVTRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1RlbXBSZWdpc3RlclNldC5jcHAKaW5kZXggOWMyZTczZDQzMmI2Y2E2ZGJhYTU2YmIwNWU4YTli
N2YyODQ4MmZkNS4uM2YzNTIxZWEyNjE1NmE3ZDBjMWI0YzJmY2M1YmMwYmFmZjM0MDZmZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmNwcApAQCAtMjYs
OSArMjYsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRlbXBSZWdpc3RlclNl
dC5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCi0jaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyU2V0LmgiCiAKIG5hbWVzcGFjZSBK
U0MgewpAQCAtNTEsNCArNTAsNCBAQCBUZW1wUmVnaXN0ZXJTZXQ6OlRlbXBSZWdpc3RlclNldChj
b25zdCBSZWdpc3RlclNldCYgb3RoZXIpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYg
Ly8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmgKaW5kZXggOTk4MzIyOWVmYWZjNDNmZTkx
NzI1NmM4N2RkY2VlOWIwODI1ZmRmNS4uNjYzODNmNTlmODg1NjJhYmNiYjBmOTU2OWE0MTUzMDAz
ZDgxYjcxYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0
ZXJTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5o
CkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNp
ZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQ
UkluZm8uaCIKQEAgLTIwNSw3ICsyMDUsNyBAQCBjbGFzcyBUZW1wUmVnaXN0ZXJTZXQgewogCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAotI2Vsc2UgLy8gRU5BQkxFKEpJVCkgLT4gc28gaWYgSklUIGlz
IGRpc2FibGVkCisjZWxzZSAvLyBFTkFCTEUoQVNTRU1CTEVSKSAtPiBzbyBpZiBKSVQgaXMgZGlz
YWJsZWQKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTIxNiw0ICsyMTYsNCBAQCBzdHJ1Y3QgVGVt
cFJlZ2lzdGVyU2V0IHsgfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFC
TEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRDTG9vcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRDTG9vcC5jcHAKaW5kZXggZTNjNmM2Y2U5N2U1ZmRhNzA4OTg5Yjc4MWVk
Mzc2MjVmMDk3YmNjOS4uZDViMzY0Mzc3MjRlNTNhMmFjYjZhZGU1ZTcwODAyYjY5YzZhMzY2OSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludENMb29wLmNwcApAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxMSW50Q0xvb3AuaCIKIAot
I2lmICFFTkFCTEUoSklUKQorI2lmIFVTRShDX0xPT1ApCiAKICNpbmNsdWRlICJMTEludERhdGEu
aCIKIApAQCAtNDEsNCArNDEsNCBAQCB2b2lkIENMb29wOjppbml0aWFsaXplKCkKIH0gLy8gbmFt
ZXNwYWNlIExMSW50CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklU
KQorI2VuZGlmIC8vIFVTRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRDTG9vcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
Q0xvb3AuaAppbmRleCBhMzE1OTE0NTUxZmIwZDhjYzYxMmJlY2RkYzQ4ZjlmY2NhY2MwNWUyLi44
YTg5MzNiNGRjOTVkZTgzM2Q0MWM3Mjk0MTg4NjY2MzY4Y2ViMjgzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRDTG9vcC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludENMb29wLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBVU0UoQ19MT09QKQogCiAjaW5jbHVkZSAiSlND
SlNWYWx1ZS5oIgogI2luY2x1ZGUgIk9wY29kZS5oIgpAQCAtNDQsNCArNDQsNCBAQCBjbGFzcyBD
TG9vcCB7CiAKIHVzaW5nIEpTQzo6TExJbnQ6OkNMb29wOwogCi0jZW5kaWYgLy8gIUVOQUJMRShK
SVQpCisjZW5kaWYgLy8gVVNFKENfTE9PUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludERhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50RGF0YS5jcHAKaW5kZXggNDFmNjRiNGFmYTMxZTgxOWNmNTRiOWZiY2Q4MDgzZjVhMzEzNmU2
Zi4uM2M5MDgyNTFkZmQ0ZjQ5ODIxNTFlNDZiOGM0NDFmZjQ4ZDRkYTdhNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAKQEAgLTQ2LDE2ICs0NiwxNiBAQCBuYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKIEluc3RydWN0aW9uIERhdGE6OnNfZXhjZXB0
aW9uSW5zdHJ1Y3Rpb25zW21heE9wY29kZUxlbmd0aCArIDFdID0geyB9OwogT3Bjb2RlIERhdGE6
OnNfb3Bjb2RlTWFwW251bU9wY29kZUlEc10gPSB7IH07CiAKLSNpZiBFTkFCTEUoSklUKQorI2lm
ICFVU0UoQ19MT09QKQogZXh0ZXJuICJDIiB2b2lkIGxsaW50X2VudHJ5KHZvaWQqKTsKICNlbmRp
ZgogCiB2b2lkIGluaXRpYWxpemUoKQogewotI2lmICFFTkFCTEUoSklUKQorI2lmIFVTRShDX0xP
T1ApCiAgICAgQ0xvb3A6OmluaXRpYWxpemUoKTsKIAotI2Vsc2UgLy8gRU5BQkxFKEpJVCkKKyNl
bHNlIC8vICFVU0UoQ19MT09QKQogICAgIGxsaW50X2VudHJ5KCZEYXRhOjpzX29wY29kZU1hcCk7
CiAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bU9wY29kZUlEczsgKytpKQpAQCAtNjQsNyAr
NjQsNyBAQCB2b2lkIGluaXRpYWxpemUoKQogICAgIHZvaWQqIGhhbmRsZXIgPSBEYXRhOjpzX29w
Y29kZU1hcFtsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lXTsKICAgICBmb3Ig
KGludCBpID0gMDsgaSA8IG1heE9wY29kZUxlbmd0aCArIDE7ICsraSkKICAgICAgICAgRGF0YTo6
c19leGNlcHRpb25JbnN0cnVjdGlvbnNbaV0udS5wb2ludGVyID0gaGFuZGxlcjsKLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIFVTRShDX0xPT1ApCiB9CiAKIElHTk9SRV9DTEFOR19X
QVJOSU5HU19CRUdJTigibWlzc2luZy1ub3JldHVybiIpCkBAIC0xMjUsNyArMTI1LDcgQEAgdm9p
ZCBEYXRhOjpwZXJmb3JtQXNzZXJ0aW9ucyhWTSYgdm0pCiAgICAgU1RBVElDX0FTU0VSVChWYWx1
ZVVuZGVmaW5lZCA9PSAoVGFnQml0VHlwZU90aGVyIHwgVGFnQml0VW5kZWZpbmVkKSk7CiAgICAg
U1RBVElDX0FTU0VSVChWYWx1ZU51bGwgPT0gVGFnQml0VHlwZU90aGVyKTsKICNlbmRpZgotI2lm
IChDUFUoWDg2XzY0KSAmJiAhT1MoV0lORE9XUykpIHx8IENQVShBUk02NCkgfHwgIUVOQUJMRShK
SVQpCisjaWYgKENQVShYODZfNjQpICYmICFPUyhXSU5ET1dTKSkgfHwgQ1BVKEFSTTY0KSB8fCAh
RU5BQkxFKEFTU0VNQkxFUikKICAgICBTVEFUSUNfQVNTRVJUKCFtYXhGcmFtZUV4dGVudEZvclNs
b3dQYXRoQ2FsbCk7CiAjZWxpZiBDUFUoQVJNKQogICAgIFNUQVRJQ19BU1NFUlQobWF4RnJhbWVF
eHRlbnRGb3JTbG93UGF0aENhbGwgPT0gMjQpOwpAQCAtMTM1LDcgKzEzNSw3IEBAIHZvaWQgRGF0
YTo6cGVyZm9ybUFzc2VydGlvbnMoVk0mIHZtKQogICAgIFNUQVRJQ19BU1NFUlQobWF4RnJhbWVF
eHRlbnRGb3JTbG93UGF0aENhbGwgPT0gNjQpOwogI2VuZGlmCiAKLSNpZiAhRU5BQkxFKEpJVCkg
fHwgVVNFKEpTVkFMVUUzMl82NCkKKyNpZiBVU0UoQ19MT09QKSB8fCBVU0UoSlNWQUxVRTMyXzY0
KQogICAgIEFTU0VSVCghQ29kZUJsb2NrOjpsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVNwYWNlQXNW
aXJ0dWFsUmVnaXN0ZXJzKCkpOwogI2VsaWYgKENQVShYODZfNjQpICYmICFPUyhXSU5ET1dTKSkg
IHx8IENQVShBUk02NCkKICAgICBBU1NFUlQoQ29kZUJsb2NrOjpsbGludEJhc2VsaW5lQ2FsbGVl
U2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKCkgPT0gMyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnREYXRhLmgKaW5kZXggYmU1OGMwMGFlNWM2NmFjMzA1ODFhZTNkNDg0OTQyOGU1
YmIzMDFkMC4uOTBiNTIzZGQ3ODk1ODlhODYyZTgxZmNmYWIwN2VjZTBkYjc3MjlkMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuaApAQCAtMzQsNyArMzQsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKIGNsYXNzIFZNOwogc3RydWN0IEluc3RydWN0aW9uOwogCi0jaWYgIUVOQUJM
RShKSVQpCisjaWYgVVNFKENfTE9PUCkKIHR5cGVkZWYgT3Bjb2RlSUQgTExJbnRDb2RlOwogI2Vs
c2UKIHR5cGVkZWYgdm9pZCAoKkxMSW50Q29kZSkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAppbmRleCBhNjQzN2Q0MDNhNDBh
OTkxZjk1NThlNmUzZjQwNzkzYzdkZWM3OTIzLi4zM2ZlNjIyZDBhYjBkM2YzMmVhN2JiNzBhYzk5
ZGVhNDM2ZDU2NjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRPZmZsaW5lQXNtQ29uZmlnLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50T2ZmbGluZUFzbUNvbmZpZy5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVkZSA8d3RmL0dp
Z2FjYWdlLmg+CiAjaW5jbHVkZSA8d3RmL1BvaXNvbmVkLmg+CiAKLSNpZiAhRU5BQkxFKEpJVCkK
KyNpZiBVU0UoQ19MT09QKQogI2RlZmluZSBPRkZMSU5FX0FTTV9DX0xPT1AgMQogI2RlZmluZSBP
RkZMSU5FX0FTTV9YODYgMAogI2RlZmluZSBPRkZMSU5FX0FTTV9YODZfV0lOIDAKQEAgLTQ1LDcg
KzQ1LDcgQEAKICNkZWZpbmUgT0ZGTElORV9BU01fQVJNdjdzIDAKICNkZWZpbmUgT0ZGTElORV9B
U01fTUlQUyAwCiAKLSNlbHNlIC8vIEVOQUJMRShKSVQpCisjZWxzZSAvLyBVU0UoQ19MT09QKQog
CiAjZGVmaW5lIE9GRkxJTkVfQVNNX0NfTE9PUCAwCiAKQEAgLTEzNyw3ICsxMzcsNyBAQAogI2Vu
ZGlmCiAjZW5kaWYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gVVNFKENfTE9P
UCkKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0pTVkFMVUU2NCAx
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPcGNvZGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9wY29kZS5oCmluZGV4IDg1OTA1ZTM3
MDQzODIzNzgzYmRmN2JmZWMxNDU2N2QxNDExNWMxODUuLjAwMjI3MzgxNzUwMTAwMWVmODIyYThk
NTllMzk3NGU4NWMwOTI5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludE9wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9w
Y29kZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgIUVOQUJMRShK
SVQpCisjaWYgVVNFKENfTE9PUCkKIAogI2RlZmluZSBGT1JfRUFDSF9MTElOVF9OT0pJVF9OQVRJ
VkVfSEVMUEVSKG1hY3JvKSBcCiAgICAgRk9SX0VBQ0hfQ0xPT1BfQllURUNPREVfSEVMUEVSX0lE
KG1hY3JvKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50UENS
YW5nZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFBDUmFuZ2VzLmgKaW5k
ZXggOTQyMTg1ZTgyNDQ2ZTljMjdjOGY1ZmYxNDNlZWE2MDg1NTE5YWE2My4uZDcwMmQxZjFiODA3
NTIzY2VlOTg1Mzk0ODA4YTRmM2RjOWZlZDkwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50UENSYW5nZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRQQ1Jhbmdlcy5oCkBAIC00Niw3ICs0Niw3IEBAIEFMV0FZU19JTkxJTkUgYm9v
bCBpc0xMSW50UEModm9pZCogcGMpCiAgICAgcmV0dXJuIGxsaW50U3RhcnQgPD0gcGNBc0ludCAm
JiBwY0FzSW50IDw9IGxsaW50RW5kOwogfQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhVVNFKENf
TE9PUCkKIHN0YXRpYyBjb25zdCBHUFJSZWcgTExJbnRQQyA9IEdQUkluZm86OnJlZ1Q0OwogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
CmluZGV4IDNjNWY5YTI5NDJiMzAwM2ZlNDIxMzhmN2U0ZGRjM2VhMGRlZWI3YzQuLjNmMTg1MzA4
Y2ViYTRiM2IzZDc1OWZhOGJjYTEyOGNlN2MyYzVjZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtNTM2LDcgKzUzNiw3IEBAIExMSU5U
X1NMT1dfUEFUSF9ERUNMKHN0YWNrX2NoZWNrKQogICAgICAgICBzbG93UGF0aExvZ0YoIk51bSB2
YXJzID0gJXUuXG4iLCBjb2RlQmxvY2stPm51bVZhcnMoKSk7CiAgICAgfQogICAgIHNsb3dQYXRo
TG9nRigiQ3VycmVudCBPUyBzdGFjayBlbmQgaXMgYXQgJXAuXG4iLCB2bS5zb2Z0U3RhY2tMaW1p
dCgpKTsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBVU0UoQ19MT09QKQogICAgIHNsb3dQYXRoTG9n
RigiQ3VycmVudCBDIExvb3Agc3RhY2sgZW5kIGlzIGF0ICVwLlxuIiwgdm0uY2xvb3BTdGFja0xp
bWl0KCkpOwogI2VuZGlmCiAKQEAgLTU0Nyw3ICs1NDcsNyBAQCBMTElOVF9TTE9XX1BBVEhfREVD
TChzdGFja19jaGVjaykKICAgICAvLyBGb3IgSklUIGVuYWJsZWQgYnVpbGRzIHdoaWNoIHVzZXMg
dGhlIEMgc3RhY2ssIHRoZSBzdGFjayBpcyBub3QgZ3Jvd2FibGUuCiAgICAgLy8gSGVuY2UsIGlm
IHdlIGdldCBoZXJlLCB0aGVuIHdlIGtub3cgYSBzdGFjayBvdmVyZmxvdyBpcyBpbW1pbmVudC4g
U28sIGp1c3QKICAgICAvLyB0aHJvdyB0aGUgU3RhY2tPdmVyZmxvd0Vycm9yIHVuY29uZGl0aW9u
YWxseS4KLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBVU0UoQ19MT09QKQogICAgIFJlZ2lzdGVyKiB0
b3BPZkZyYW1lID0gZXhlYy0+dG9wT2ZGcmFtZSgpOwogICAgIGlmIChMSUtFTFkodG9wT2ZGcmFt
ZSA8IHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0ZXIqPihleGVjKSkpIHsKICAgICAgICAgQVNTRVJU
KCF2bS5pbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLmNvbnRhaW5zQWRkcmVzcyh0b3BPZkZyYW1l
KSk7CkBAIC0xODYxLDcgKzE4NjEsNyBAQCBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBs
bGludF90aHJvd19zdGFja19vdmVyZmxvd19lcnJvcihWTSogdm0sIFByb3RvQ2FsbAogICAgIHJl
dHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiB9CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBVU0Uo
Q19MT09QKQogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgbGxpbnRfc3RhY2tfY2hlY2tf
YXRfdm1fZW50cnkoVk0qIHZtLCBSZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIHsKICAgICBib29s
IHN1Y2Nlc3MgPSB2bS0+ZW5zdXJlU3RhY2tDYXBhY2l0eUZvcihuZXdUb3BPZlN0YWNrKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggN2NmZWNh
N2E4MTZkMWRjNTMwYTM0N2U4NmZiOWQ1ZmQzNjBiY2I4MC4uNjU0YTE5MjRkZjE3NzhjNWI4OTE0
MWI5NzFiYmFiNzAyOTBmMWQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmgKQEAgLTEzMiw3ICsxMzIsNyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVO
X0RFQ0woc2xvd19wYXRoX2xvZ19zaGFkb3dfY2hpY2tlbl90YWlsKTsKIExMSU5UX1NMT1dfUEFU
SF9ISURERU5fREVDTChzbG93X3BhdGhfc3VwZXJfc2FtcGxlcl9iZWdpbik7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N1cGVyX3NhbXBsZXJfZW5kKTsKIGV4dGVybiAi
QyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3Rocm93X3N0YWNrX292ZXJmbG93X2Vycm9yKFZN
KiwgUHJvdG9DYWxsRnJhbWUqKSBXVEZfSU5URVJOQUw7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYg
VVNFKENfTE9PUCkKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2No
ZWNrX2F0X3ZtX2VudHJ5KFZNKiwgUmVnaXN0ZXIqKSBXVEZfSU5URVJOQUw7CiAjZW5kaWYKIGV4
dGVybiAiQyIgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCB2b2lkIGxsaW50X2NyYXNoKCkgV1RGX0lO
VEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1
bmtzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKaW5k
ZXggMjQ0NmJkYmZlNzZjZjk2Mjk0MDI1ZGM2NTc1N2RhMGU0OTkzMGU4YS4uOTdlMjkxOTJiNjg2
NDEyMDYzZmI5Yzc4YTdhNmI4NzQ2MGU0YWI5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRUaHVua3MuY3BwCkBAIC05OCw4ICs5OCw5IEBAIE1hY3JvQXNzZW1ibGVyQ29k
ZVJlZjxKSVRUaHVua1B0clRhZz4gbW9kdWxlUHJvZ3JhbUVudHJ5VGh1bmtHZW5lcmF0b3IoVk0q
IHZtKQogCiB9IC8vIG5hbWVzcGFjZSBMTEludAogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmCiAKKyNpZiBVU0UoQ19MT09QKQogLy8gTm9uLUpJVCAoaS5lLiBDIExvb3AgTExJTlQpIGNh
c2U6CiAKIEVuY29kZWRKU1ZhbHVlIHZtRW50cnlUb0phdmFTY3JpcHQodm9pZCogZXhlY3V0YWJs
ZUFkZHJlc3MsIFZNKiB2bSwgUHJvdG9DYWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lKQpAQCAtMTIy
LDcgKzEyMyw2IEBAIGV4dGVybiAiQyIgVk1FbnRyeVJlY29yZCogdm1FbnRyeVJlY29yZChFbnRy
eUZyYW1lKiBlbnRyeUZyYW1lKQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFZNRW50cnlS
ZWNvcmQqPihyZWludGVycHJldF9jYXN0PGNoYXIqPihlbnRyeUZyYW1lKSAtIFZNRW50cnlUb3Rh
bEZyYW1lU2l6ZSk7CiB9CiAKLQotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gVVNF
KENfTE9PUCkKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAKaW5kZXggNzhiZmYwODg0YzQ4MDI5
MzlhNGRlODYwZjc2YjU4MmVhYTlhNDI2NS4uZGFiNzdjYWZmMzVkYmEzYmQxZGJlZWFlMzMwODIy
NmUyYTRhYTAzZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmNwcApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkxMSW50T2Zm
bGluZUFzbUNvbmZpZy5oIgogI2luY2x1ZGUgPHd0Zi9JbmxpbmVBU00uaD4KIAotI2lmICFFTkFC
TEUoSklUKQorI2lmIFVTRShDX0xPT1ApCiAjaW5jbHVkZSAiQnl0ZWNvZGVzLmgiCiAjaW5jbHVk
ZSAiQ0xvb3BTdGFja0lubGluZXMuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKQEAgLTU1OSw0
ICs1NTksNCBAQCBKU1ZhbHVlIENMb29wOjpleGVjdXRlKE9wY29kZUlEIGVudHJ5T3Bjb2RlSUQs
IHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBWTSogdm0sCiAvLyBmb3IgdGhlIGludGVycHJldGVy
LCBhcyBjb21waWxlZCBmcm9tIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtLgogI2luY2x1ZGUgIkxM
SW50QXNzZW1ibHkuaCIKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gVVNFKENf
TE9PUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5oCmluZGV4IDgzMDA4ZTEyMjViZjUzZGNmY2ZmZGRhMDM4NWQ2Zjc2YWU5NjI3MzAuLmI1
ZTk3Yjc1MzFiYWU1YjJiNzI0YmQyZDU4ODk4YjE5NmYyMGJjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaApAQCAtMjcsNyArMjcs
NyBAQAogCiAjaW5jbHVkZSAiT3Bjb2RlLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBVU0Uo
Q19MT09QKQogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDQsNCArNDQsNCBAQCBGT1JfRUFDSF9D
T1JFX09QQ09ERV9JRChMTElOVF9PUENPREVfQUxJQVMpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwog
Ci0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYgLy8gVVNFKENfTE9PUCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAppbmRleCA1NDQyMjc3Njk5YmVmMjU2
YzRiYTYyMzQ2YzlhZmIzMDVmODVlZDM4Li43ZDI2NzIxZjhmZTdlNDBiYzM4YmYwOGJjODNjMzA2
NTg4NWM5ZDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NK
U1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5o
CkBAIC01OSw3ICs1OSw3IEBAIGNsYXNzIE9TUkV4aXRDb21waWxlcjsKIGNsYXNzIFNwZWN1bGF0
aXZlSklUOwogfQogI2VuZGlmCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgVVNFKENfTE9PUCkKIG5h
bWVzcGFjZSBMTEludCB7CiBjbGFzcyBDTG9vcDsKIH0KQEAgLTE0Nyw3ICsxNDcsNyBAQCBjbGFz
cyBKU1ZhbHVlIHsKICAgICBmcmllbmQgY2xhc3MgREZHOjpPU1JFeGl0Q29tcGlsZXI7CiAgICAg
ZnJpZW5kIGNsYXNzIERGRzo6U3BlY3VsYXRpdmVKSVQ7CiAjZW5kaWYKLSNpZiAhRU5BQkxFKEpJ
VCkKKyNpZiBVU0UoQ19MT09QKQogICAgIGZyaWVuZCBjbGFzcyBMTEludDo6Q0xvb3A7CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNv
bnRleHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgK
aW5kZXggODM2ZDc1NTY4OGIxNzJmYzEyZjhjNzk0ODJiMGE2MDU4NTMwNWM3OS4uYzNlMmE2NmY2
MTc3MWY2MDUyYWVjNzk3YzUzMjgzYTRhMDEwNWMxZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCkBAIC01MCwxMCArNTAsMTAgQEAgaW5saW5l
IHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJiwgTWFjcm9Bc3Nl
bWJsZXJDb2RlUHRyPENGdW4KIAogdGVtcGxhdGU8c2l6ZV90IE4+IHZvaWQqJiBhcmd1bWVudFBv
aW50ZXIoUGxhdGZvcm1SZWdpc3RlcnMmKTsKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiBhcmd1
bWVudFBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmKTsKLSNpZiBFTkFCTEUoSklUKQor
I2lmICFVU0UoQ19MT09QKQogdm9pZComIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3Jt
UmVnaXN0ZXJzJik7CiB2b2lkKiBsbGludEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBQbGF0Zm9y
bVJlZ2lzdGVycyYpOwotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIVVTRShDX0xP
T1ApCiAKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIApAQCAtNzIsMTAgKzcyLDEwIEBAIGlu
bGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiwgTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyPENGdW5jdGlvblB0CiAKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiYgYXJndW1l
bnRQb2ludGVyKG1jb250ZXh0X3QmKTsKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiBhcmd1bWVu
dFBvaW50ZXIoY29uc3QgbWNvbnRleHRfdCYpOwotI2lmIEVOQUJMRShKSVQpCisjaWYgIVVTRShD
X0xPT1ApCiB2b2lkKiYgbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRleHRfdCYpOwogdm9p
ZCogbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgbWNvbnRleHRfdCYpOwotI2VuZGlmIC8v
IEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIVVTRShDX0xPT1ApCiAjZW5kaWYgLy8gSEFWRShNQUNI
SU5FX0NPTlRFWFQpCiAjZW5kaWYgLy8gT1MoV0lORE9XUykgfHwgSEFWRShNQUNISU5FX0NPTlRF
WFQpCiAKQEAgLTY2OCw3ICs2NjgsNyBAQCBpbmxpbmUgdm9pZCogYXJndW1lbnRQb2ludGVyKGNv
bnN0IG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogfQogI2VuZGlmIC8vIEhBVkUoTUFDSElO
RV9DT05URVhUKQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhVVNFKENfTE9PUCkKICNpZiBPUyhX
SU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIGlubGluZSB2b2lkKiYgbGxpbnRJbnN0
cnVjdGlvblBvaW50ZXIoUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MpCiB7CkBAIC03ODMsNyArNzgz
LDcgQEAgaW5saW5lIHZvaWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IG1jb250ZXh0
X3QmIG1hY2hpbmVDb250ZXh0KQogICAgIHJldHVybiBsbGludEluc3RydWN0aW9uUG9pbnRlcihj
b25zdF9jYXN0PG1jb250ZXh0X3QmPihtYWNoaW5lQ29udGV4dCkpOwogfQogI2VuZGlmIC8vIEhB
VkUoTUFDSElORV9DT05URVhUKQotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIVVT
RShDX0xPT1ApCiAKIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U2FtcGxpbmdQcm9maWxlci5jcHAKaW5kZXggYjY5MzVlNGM3NTU0ZGExYWYyMGQ0NGFiNjI5OTJm
NWEzODkxYmNiZC4uMGYyMTg0MzAzZjZlM2RkMmU1MWZmNWQ5MzU0MWRkNzUzZDY2MjJlYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5j
cHAKQEAgLTYwMSwxMCArNjAxLDE2IEBAIHZvaWQgU2FtcGxpbmdQcm9maWxlcjo6cHJvY2Vzc1Vu
dmVyaWZpZWRTdGFja1RyYWNlcygpCiAgICAgICAgICAgICAgICAgICAgIHN0b3JlQ2FsbGVlSW50
b0xhc3RGcmFtZSh1bnByb2Nlc3NlZFN0YWNrVHJhY2UuZnJhbWVzWzBdLnVudmVyaWZpZWRDYWxs
ZWUpOwogICAgICAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gMTsKICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHN0ZDo6b3B0aW9uYWw8Q29kZU9yaWdpbj4gY29k
ZU9yaWdpbiA9IHRvcENvZGVCbG9jay0+ZmluZFBDKHVucHJvY2Vzc2VkU3RhY2tUcmFjZS50b3BQ
QykpIHsKLSAgICAgICAgICAgICAgICBhcHBlbmRDb2RlT3JpZ2luKHRvcENvZGVCbG9jaywgKmNv
ZGVPcmlnaW4pOwotICAgICAgICAgICAgICAgIHN0b3JlQ2FsbGVlSW50b0xhc3RGcmFtZSh1bnBy
b2Nlc3NlZFN0YWNrVHJhY2UuZnJhbWVzWzBdLnVudmVyaWZpZWRDYWxsZWUpOwotICAgICAgICAg
ICAgICAgIHN0YXJ0SW5kZXggPSAxOworICAgICAgICAgICAgfSBlbHNlIHsKKyNpZiBFTkFCTEUo
SklUKQorICAgICAgICAgICAgICAgIGlmIChzdGQ6Om9wdGlvbmFsPENvZGVPcmlnaW4+IGNvZGVP
cmlnaW4gPSB0b3BDb2RlQmxvY2stPmZpbmRQQyh1bnByb2Nlc3NlZFN0YWNrVHJhY2UudG9wUEMp
KSB7CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZENvZGVPcmlnaW4odG9wQ29kZUJsb2NrLCAq
Y29kZU9yaWdpbik7CisgICAgICAgICAgICAgICAgICAgIHN0b3JlQ2FsbGVlSW50b0xhc3RGcmFt
ZSh1bnByb2Nlc3NlZFN0YWNrVHJhY2UuZnJhbWVzWzBdLnVudmVyaWZpZWRDYWxsZWUpOworICAg
ICAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gMTsKKyAgICAgICAgICAgICAgICB9CisjZWxz
ZQorICAgICAgICAgICAgICAgIFVOVVNFRF9QQVJBTShhcHBlbmRDb2RlT3JpZ2luKTsKKyNlbmRp
ZgogICAgICAgICAgICAgfQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmNwcAppbmRleCA4ZTA5MmJjNWE4YTc4YmU4NjA5YjQ5ZDZjYzZmY2VkMTg1YTg0NTE5Li5hNjZi
Y2U3MDFjNDgxM2M3OWFkZmE4OTZlODg3OWY3YWQxNTZiM2ViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvVk0uY3BwCkBAIC0xNTksNyArMTU5LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmdUYWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg+
CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBVU0UoQ19MT09QKQogI2luY2x1ZGUgIkNMb29wU3Rh
Y2suaCIKICNpbmNsdWRlICJDTG9vcFN0YWNrSW5saW5lcy5oIgogI2VuZGlmCkBAIC04NzYsNyAr
ODc2LDcgQEAgc2l6ZV90IFZNOjp1cGRhdGVTb2Z0UmVzZXJ2ZWRab25lU2l6ZShzaXplX3Qgc29m
dFJlc2VydmVkWm9uZVNpemUpCiB7CiAgICAgc2l6ZV90IG9sZFNvZnRSZXNlcnZlZFpvbmVTaXpl
ID0gbV9jdXJyZW50U29mdFJlc2VydmVkWm9uZVNpemU7CiAgICAgbV9jdXJyZW50U29mdFJlc2Vy
dmVkWm9uZVNpemUgPSBzb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKLSNpZiAhRU5BQkxFKEpJVCkKKyNp
ZiBVU0UoQ19MT09QKQogICAgIGludGVycHJldGVyLT5jbG9vcFN0YWNrKCkuc2V0U29mdFJlc2Vy
dmVkWm9uZVNpemUoc29mdFJlc2VydmVkWm9uZVNpemUpOwogI2VuZGlmCiAKQEAgLTExNDUsNyAr
MTE0NSw3IEBAIHZvaWQgc2FuaXRpemVTdGFja0ZvclZNKFZNKiB2bSkKICAgICAgICAgQVNTRVJU
KHZtLT5jdXJyZW50VGhyZWFkSXNIb2xkaW5nQVBJTG9jaygpKTsKICAgICAgICAgQVNTRVJUX1VO
VVNFRChzdGFja0JvdW5kcywgc3RhY2tCb3VuZHMuY29udGFpbnModm0tPmxhc3RTdGFja1RvcCgp
KSk7CiAgICAgfQotI2lmICFFTkFCTEUoSklUKQorI2lmIFVTRShDX0xPT1ApCiAgICAgdm0tPmlu
dGVycHJldGVyLT5jbG9vcFN0YWNrKCkuc2FuaXRpemVTdGFjaygpOwogI2Vsc2UKICAgICBzYW5p
dGl6ZVN0YWNrRm9yVk1JbXBsKHZtKTsKQEAgLTExNTQsNyArMTE1NCw3IEBAIHZvaWQgc2FuaXRp
emVTdGFja0ZvclZNKFZNKiB2bSkKIAogc2l6ZV90IFZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3Vu
dCgpCiB7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhVVNFKENfTE9PUCkKICAgICAvLyBXaGVuIHVz
aW5nIHRoZSBDIHN0YWNrLCB3ZSBkb24ndCBrbm93IGhvdyBtYW55IHN0YWNrIHBhZ2VzIGFyZSBh
Y3R1YWxseQogICAgIC8vIGNvbW1pdHRlZC4gU28sIHdlIHVzZSB0aGUgY3VycmVudCBzdGFjayB1
c2FnZSBhcyBhbiBlc3RpbWF0ZS4KICAgICBBU1NFUlQoVGhyZWFkOjpjdXJyZW50KCkuc3RhY2so
KS5pc0dyb3dpbmdEb3dud2FyZCgpKTsKQEAgLTExNjYsNyArMTE2Niw3IEBAIHNpemVfdCBWTTo6
Y29tbWl0dGVkU3RhY2tCeXRlQ291bnQoKQogI2VuZGlmCiB9CiAKLSNpZiAhRU5BQkxFKEpJVCkK
KyNpZiBVU0UoQ19MT09QKQogYm9vbCBWTTo6ZW5zdXJlU3RhY2tDYXBhY2l0eUZvckNMb29wKFJl
Z2lzdGVyKiBuZXdUb3BPZlN0YWNrKQogewogICAgIHJldHVybiBpbnRlcnByZXRlci0+Y2xvb3BT
dGFjaygpLmVuc3VyZUNhcGFjaXR5Rm9yKG5ld1RvcE9mU3RhY2spOwpAQCAtMTE3Niw3ICsxMTc2
LDcgQEAgYm9vbCBWTTo6aXNTYWZlVG9SZWN1cnNlU29mdENMb29wKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5pc1NhZmVUb1JlY3Vyc2UoKTsKIH0KLSNl
bmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBVU0UoQ19MT09QKQogCiAjaWYgRU5BQkxF
KEVYQ0VQVElPTl9TQ09QRV9WRVJJRklDQVRJT04pCiB2b2lkIFZNOjp2ZXJpZnlFeGNlcHRpb25D
aGVja05lZWRJc1NhdGlzZmllZCh1bnNpZ25lZCByZWN1cnNpb25EZXB0aCwgRXhjZXB0aW9uRXZl
bnRMb2NhdGlvbiYgbG9jYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAppbmRleCA0
MGRhNWQzNjg5MjUzOGIyYjJiYjRkMTY3NjEyZTU3ZDUxNWFjZDYzLi44ZjYwMzA1ODQ2ZTM0MDIx
MzgzZWYxNDAyMWU4ZmIxM2M4Mjc3NDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgK
QEAgLTcxNiw3ICs3MTYsNyBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgIHZvaWQqIHN0YWNr
TGltaXQoKSB7IHJldHVybiBtX3N0YWNrTGltaXQ7IH0KICAgICB2b2lkKiBzb2Z0U3RhY2tMaW1p
dCgpIHsgcmV0dXJuIG1fc29mdFN0YWNrTGltaXQ7IH0KICAgICB2b2lkKiogYWRkcmVzc09mU29m
dFN0YWNrTGltaXQoKSB7IHJldHVybiAmbV9zb2Z0U3RhY2tMaW1pdDsgfQotI2lmICFFTkFCTEUo
SklUKQorI2lmIFVTRShDX0xPT1ApCiAgICAgdm9pZCogY2xvb3BTdGFja0xpbWl0KCkgeyByZXR1
cm4gbV9jbG9vcFN0YWNrTGltaXQ7IH0KICAgICB2b2lkIHNldENMb29wU3RhY2tMaW1pdCh2b2lk
KiBsaW1pdCkgeyBtX2Nsb29wU3RhY2tMaW1pdCA9IGxpbWl0OyB9CiAjZW5kaWYKQEAgLTkyOSwx
MCArOTI5LDEwIEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwg
cHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAgICAgICAgIG1fZXhjZXB0aW9uID0g
bnVsbHB0cjsKICAgICB9CiAKLSNpZiAhRU5BQkxFKEpJVCkgICAgCisjaWYgVVNFKENfTE9PUCkK
ICAgICBib29sIGVuc3VyZVN0YWNrQ2FwYWNpdHlGb3JDTG9vcChSZWdpc3RlciogbmV3VG9wT2ZT
dGFjayk7CiAgICAgYm9vbCBpc1NhZmVUb1JlY3Vyc2VTb2Z0Q0xvb3AoKSBjb25zdDsKLSNlbmRp
ZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBVU0UoQ19MT09QKQogCiAgICAgSlNfRVhQT1JU
X1BSSVZBVEUgdm9pZCB0aHJvd0V4Y2VwdGlvbihFeGVjU3RhdGUqLCBFeGNlcHRpb24qKTsKICAg
ICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIHRocm93RXhjZXB0aW9uKEV4ZWNTdGF0ZSosIEpT
VmFsdWUpOwpAQCAtOTUzLDcgKzk1Myw3IEBAIGNsYXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7CiAgICAgc2l6
ZV90IG1fY3VycmVudFNvZnRSZXNlcnZlZFpvbmVTaXplOwogICAgIHZvaWQqIG1fc3RhY2tMaW1p
dCB7IG51bGxwdHIgfTsKICAgICB2b2lkKiBtX3NvZnRTdGFja0xpbWl0IHsgbnVsbHB0ciB9Owot
I2lmICFFTkFCTEUoSklUKQorI2lmIFVTRShDX0xPT1ApCiAgICAgdm9pZCogbV9jbG9vcFN0YWNr
TGltaXQgeyBudWxscHRyIH07CiAjZW5kaWYKICAgICB2b2lkKiBtX2xhc3RTdGFja1RvcCB7IG51
bGxwdHIgfTsKQEAgLTEwMzUsNyArMTAzNSw3IEBAIGlubGluZSBIZWFwKiBXZWFrU2V0OjpoZWFw
KCkgY29uc3QKICAgICByZXR1cm4gJm1fdm0tPmhlYXA7CiB9CiAKLSNpZiBFTkFCTEUoSklUKQor
I2lmICFVU0UoQ19MT09QKQogZXh0ZXJuICJDIiB2b2lkIHNhbml0aXplU3RhY2tGb3JWTUltcGwo
Vk0qKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTUlubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNSW5saW5lcy5o
CmluZGV4IDE1YjUwZDZkZmJhZWExMjI2Mjk5ZTcxMjkxMGQzMGRiYjNmMWYxMzMuLmM1MTczYTZl
NDlhZTUxNDY4MzgxMGMyYzg1OGZlYTY4OWJkOWExMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNSW5saW5lcy5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIAogYm9vbCBWTTo6ZW5zdXJlU3RhY2tDYXBhY2l0eUZvcihSZWdpc3RlciogbmV3VG9wT2ZT
dGFjaykKIHsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFVU0UoQ19MT09QKQogICAgIEFTU0VSVChU
aHJlYWQ6OmN1cnJlbnQoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253YXJkKCkpOwogICAgIHJldHVy
biBuZXdUb3BPZlN0YWNrID49IG1fc29mdFN0YWNrTGltaXQ7CiAjZWxzZQpAQCAtNDcsNyArNDcs
NyBAQCBib29sIFZNOjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yKFJlZ2lzdGVyKiBuZXdUb3BPZlN0
YWNrKQogYm9vbCBWTTo6aXNTYWZlVG9SZWN1cnNlU29mdCgpIGNvbnN0CiB7CiAgICAgYm9vbCBz
YWZlID0gaXNTYWZlVG9SZWN1cnNlKG1fc29mdFN0YWNrTGltaXQpOwotI2lmICFFTkFCTEUoSklU
KQorI2lmIFVTRShDX0xPT1ApCiAgICAgc2FmZSA9IHNhZmUgJiYgaXNTYWZlVG9SZWN1cnNlU29m
dENMb29wKCk7CiAjZW5kaWYKICAgICByZXR1cm4gc2FmZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGU1Njlj
ZGM1NjM4OTcyZjJjYWExNDM5YTZiYjM2MjE4ZmY5ZjM3NGIuLmIzOTEwMjk4MGUyOTYwN2EyMTQ5
MmJlYzc0M2Q4OTcyNGMxNGRiNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtNzU3LDYgKzc1NywxMyBAQAog
I2RlZmluZSBFTkFCTEVfSklUIDAKICNlbmRpZgogCisjaWYgRU5BQkxFKEpJVCkgXAorICAgIHx8
IENQVShYODZfNjQpIHx8IChDUFUoQVJNNjQpICYmICFkZWZpbmVkKF9fSUxQMzJfXykpCisjZGVm
aW5lIFVTRV9DX0xPT1AgMAorI2Vsc2UKKyNkZWZpbmUgVVNFX0NfTE9PUCAxCisjZW5kaWYKKwog
LyogVGhlIEZUTCAqZG9lcyBub3QqIHdvcmsgb24gMzItYml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBp
dCBldmVuIGlmIHNvbWVvbmUgYXNrZWQgdXMgdG8gZW5hYmxlIGl0LiAqLwogI2lmIFVTRShKU1ZB
TFVFMzJfNjQpCiAjdW5kZWYgRU5BQkxFX0ZUTF9KSVQKQEAgLTg2Myw3ICs4NzAsNyBAQAogICog
SW4gY29uZmlndXJhdGlvbnMgb3RoZXIgdGhhbiBXaW5kb3dzIGFuZCBEYXJ3aW4sIGJlY2F1c2Ug
bGF5b3V0IG9mIG1jb250ZXh0X3QgZGVwZW5kcyBvbiBzdGFuZGFyZCBsaWJyYXJpZXMgKGxpa2Ug
Z2xpYmMpLAogICogc2FtcGxpbmcgcHJvZmlsZXIgaXMgZW5hYmxlZCBpZiBXZWJLaXQgdXNlcyBw
dGhyZWFkcyBhbmQgZ2xpYmMuICovCiAjaWYgIWRlZmluZWQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJ
TEVSKQotI2lmIEVOQUJMRShKSVQpICYmIChPUyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09O
VEVYVCkpCisjaWYgIVVTRShDX0xPT1ApICYmIChPUyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVf
Q09OVEVYVCkpCiAjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiAxCiAjZWxzZQogI2Rl
ZmluZSBFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIgMApAQCAtOTQ3LDExICs5NTQsMTEgQEAKICNl
bmRpZgogCiAvKiBEZXRlcm1pbmUgaWYgd2UgbmVlZCB0byBlbmFibGUgQ29tcHV0ZWQgR290byBP
cGNvZGVzIG9yIG5vdDogKi8KLSNpZiBIQVZFKENPTVBVVEVEX0dPVE8pIHx8IEVOQUJMRShKSVQp
CisjaWYgSEFWRShDT01QVVRFRF9HT1RPKSB8fCAhVVNFKENfTE9PUCkKICNkZWZpbmUgRU5BQkxF
X0NPTVBVVEVEX0dPVE9fT1BDT0RFUyAxCiAjZW5kaWYKIAotI2lmIEVOQUJMRShKSVQpICYmICFD
T01QSUxFUihNU1ZDKSAmJiBcCisjaWYgIVVTRShDX0xPT1ApICYmICFDT01QSUxFUihNU1ZDKSAm
JiBcCiAgICAgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgKENQVShB
Uk1fVEhVTUIyKSAmJiBPUyhEQVJXSU4pKSkKIC8qIFRoaXMgZmVhdHVyZSB3b3JrcyBieSBlbWJl
ZGRpbmcgdGhlIE9wY29kZUlEIGluIHRoZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdlbmVyYXRl
ZCBMTGludCBjb2RlCiAgICB0aGF0IGV4ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5ub3QgYmUg
c3VwcG9ydGVkIGJ5IHRoZSBDTG9vcCBzaW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJlZCB0aGUK
QEAgLTk4MSw3ICs5ODgsNyBAQAogCiAvKiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUgUmVnRXhw
IEpJVCBpcyBlbmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZQogICAgZW5hYmxlZCBh
cyB3ZWxsOiAqLwotI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNpZiBFTkFC
TEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpIHx8ICFVU0UoQ19MT09QKQogI2lmIGRlZmluZWQo
RU5BQkxFX0FTU0VNQkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIKICNlcnJvciAiQ2Fubm90IGVu
YWJsZSB0aGUgSklUIG9yIFJlZ0V4cCBKSVQgd2l0aG91dCBlbmFibGluZyB0aGUgQXNzZW1ibGVy
IgogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCAxMTZlMGQ5Njk3NGYxMmVk
ZGUwNjA1YzFlN2NmNmQyMzhiZjNmYTAwLi41YTQ1MjhhZTE3ZDEzYzA3NDI5YTU0Y2NmMGE0NmI5
N2NlM2E5ZjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
KysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0xOTUsNyArMTk1LDYg
QEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChF
TkFCTEVfREZHX0pJVCBFTkFCTEVfSklUKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJM
RV9GVExfSklUIEVOQUJMRV9ERkdfSklUKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJM
RV9XRUJBU1NFTUJMWSBFTkFCTEVfRlRMX0pJVCkKLSAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChF
TkFCTEVfU0FNUExJTkdfUFJPRklMRVIgRU5BQkxFX0pJVCkKICAgICBXRUJLSVRfT1BUSU9OX0RF
UEVORChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTIEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQgRU5BQkxFX1ZJREVPKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9NRURJ
QV9TT1VSQ0UgRU5BQkxFX1ZJREVPKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9n
CmluZGV4IDhkYzA3Yjc5NDJhMjBhMjliZjIxZjdkYjcyZjk5N2Y4NjI2ZDE1NzguLmY2NTEyNDBk
OWU2NDBlMzAyNzAyYWMzN2YzYjIyZTViMDlhMzA1NzIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZwor
KysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOC0wOS0xOSAgWXVzdWtlIFN1enVr
aSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQub3JnPgorCisgICAgICAgIFtKU0NdIEVuYWJsZSBM
TEludCBBU00gaW50ZXJwcmV0ZXIgb24gWDY0IGFuZCBBUk02NCBpbiBub24gSklUIGNvbmZpZ3Vy
YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
OTc3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorCiAyMDE4LTA5LTEyICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlZCBzdm46aWdub3JlIGFm
dGVyIHIyMzUzODEuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350338</attachid>
            <date>2018-09-21 02:00:17 -0700</date>
            <delta_ts>2018-09-21 02:12:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189778-20180921180016.patch</filename>
            <type>text/plain</type>
            <size>68781</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
YzY1MjUxNTMwY2JhMjFiMjlkNmYyZGZmZWQzYmE1MDk1OTIyZjk3Li4zMzUwYjJmOTNmYmQ4Zjkw
ZmZjZjgwZDQ4NTZiYTVkMTJmYjM5Yzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMDcgQEAKKzIwMTgtMDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xv
d3N0YXJ0Lm9yZz4KKworICAgICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVy
IG9uIFg2NCBhbmQgQVJNNjQgaW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMTEludCBBU00gaW50ZXJwcmV0ZXIg
aXMgMnggYW5kIDE1JSBmYXN0ZXIgdGhhbiBDTG9vcCBpbnRlcnByZXRlciBvbgorICAgICAgICBM
aW51eCBhbmQgbWFjT1MgcmVzcGVjdGl2ZWx5LiBXZSB3b3VsZCBsaWtlIHRvIGVuYWJsZSBpdCBm
b3Igbm9uIEpJVAorICAgICAgICBjb25maWd1cmF0aW9uIGluIFg4Nl82NCBhbmQgQVJNNjQuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBlbmFibGVzIExMSW50IGZvciBub24gSklUIGluIFg4Nl82NCBh
bmQgQVJNNjQgYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgUHJldmlvdXNseSwgd2Ugc3dpdGNoIExM
SW50IEFTTSBpbnRlcnByZXRlciBhbmQgQ0xvb3AgYnkgdXNpbmcgRU5BQkxFKEpJVCkKKyAgICAg
ICAgY29uZmlndXJhdGlvbi4gQnV0IGl0IGlzIHdyb25nIGluIHRoZSBuZXcgc2NlbmFyaW8gc2lu
Y2Ugd2UgaGF2ZSBhIGJ1aWxkeAorICAgICAgICBjb25maWd1cmF0aW9uIHRoYXQgdXNlcyBMTElu
dCBBU00gaW50ZXJwcmV0ZXIgYW5kIEpJVCBpcyBkaXNhYmxlZC4gV2UgaW50cm9kdWNlCisgICAg
ICAgIEVOQUJMRShDX0xPT1ApIG9wdGlvbiwgd2hpY2ggcmVwcmVzZW50cyB0aGF0IHdlIHVzZSBD
TG9vcC4gQW5kIHdlIHJlcGxhY2UKKyAgICAgICAgRU5BQkxFKEpJVCkgd2l0aCBFTkFCTEUoQ19M
T09QKSBpZiB0aGUgcHJldmlvdXMgRU5BQkxFKEpJVCkgaXMgZXNzZW50aWFsbHkganVzdAorICAg
ICAgICByZWxhdGVkIHRvIExMSW50IEFTTSBpbnRlcnByZXRlciBhbmQgbm90IHJlbGF0ZWQgdG8g
SklULgorCisgICAgICAgIFdlIGFsc28gcmVwbGFjZSBzb21lIEVOQUJMRShKSVQpIGNvbmZpZ3Vy
YXRpb25zIHdpdGggRU5BQkxFKEFTU0VNQkxFUikuCisgICAgICAgIEVOQUJMRShBU1NFTUJMRVIp
IGlzIG5vdyBlbmFibGVkIGV2ZW4gaWYgd2UgZGlzYWJsZSBKSVQgc2luY2UgTWFjcm9Bc3NlbWJs
ZXIKKyAgICAgICAgaGFzIG1hY2hpbmUgcmVnaXN0ZXIgaW5mb3JtYXRpb24gdGhhdCBpcyB1c2Vk
IGluIExMSW50IEFTTSBpbnRlcnByZXRlci4KKworICAgICAgICAqIEFQSS90ZXN0cy9QaW5nUG9u
Z1N0YWNrT3ZlcmZsb3dUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RQaW5nUG9uZ1N0YWNrT3ZlcmZs
b3cpOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYXNzZW1ibGVyL01heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmg6CisgICAgICAgICogYnl0ZWNvZGUvQ2FsbFJldHVybk9m
ZnNldFRvQnl0ZWNvZGVPZmZzZXQuaDogUmVtb3ZlZC4gSXQgaXMgbm8gbG9uZ2VyIHVzZWQuCisg
ICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2Nr
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmg6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6Y2FsbGVlU2F2ZVJlZ2lzdGVycyBjb25zdCk6CisgICAgICAg
IChKU0M6OkNvZGVCbG9jazo6bnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVy
cyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFj
ZUFzVmlydHVhbFJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Y2FsbGVlU2F2
ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKToKKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoK
KyAgICAgICAgKEpTQzo6cGFkT3Bjb2RlTmFtZSk6CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoK
KyAgICAgICAgKEpTQzo6SGVhcDo6Z2F0aGVySlNTdGFja1Jvb3RzKToKKyAgICAgICAgKiBpbnRl
cnByZXRlci9DTG9vcFN0YWNrLmNwcDoKKyAgICAgICAgKiBpbnRlcnByZXRlci9DTG9vcFN0YWNr
Lmg6CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaDoKKyAgICAgICAg
KiBpbnRlcnByZXRlci9FbnRyeUZyYW1lLmg6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6SW50ZXJwcmV0ZXIpOgorICAg
ICAgICAoSlNDOjpVbndpbmRGdW5jdG9yOjpjb3B5Q2FsbGVlU2F2ZXNUb0VudHJ5RnJhbWVDYWxs
ZWVTYXZlc0J1ZmZlciBjb25zdCk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIu
aDoKKyAgICAgICAgKiBpbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwOgorICAgICAgICAoSlND
OjpTdGFja1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVTYXZlUmVnaXN0ZXJzKToKKyAgICAgICAgKiBp
bnRlcnByZXRlci9WTUVudHJ5UmVjb3JkLmg6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxv
Y2F0b3IuaDoKKyAgICAgICAgKiBqaXQvRlBSSW5mby5oOgorICAgICAgICAoV1RGOjpwcmludElu
dGVybmFsKToKKyAgICAgICAgKiBqaXQvR1BSSW5mby5jcHA6CisgICAgICAgICogaml0L0dQUklu
Zm8uaDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAgICogaml0L0hvc3RD
YWxsUmV0dXJuVmFsdWUuY3BwOgorICAgICAgICAoSlNDOjpnZXRIb3N0Q2FsbFJldHVyblZhbHVl
V2l0aEV4ZWNTdGF0ZSk6IE1vdmVkLiBUaGV5IGFyZSB1c2VkIGluIExMSW50IEFTTSBpbnRlcnBy
ZXRlciB0b28uCisgICAgICAgICogaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuaDoKKyAgICAgICAg
KiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OmdldEhvc3RDYWxsUmV0dXJu
VmFsdWVXaXRoRXhlY1N0YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9u
c01TVkM2NC5jcHA6CisgICAgICAgICogaml0L1JlZy5jcHA6CisgICAgICAgICogaml0L1JlZy5o
OgorICAgICAgICAqIGppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcDoKKyAgICAgICAgKiBqaXQvUmVn
aXN0ZXJBdE9mZnNldC5oOgorICAgICAgICAqIGppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHA6
CisgICAgICAgICogaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0Lmg6CisgICAgICAgICogaml0L1Jl
Z2lzdGVyTWFwLmg6CisgICAgICAgICogaml0L1JlZ2lzdGVyU2V0LmNwcDoKKyAgICAgICAgKiBq
aXQvUmVnaXN0ZXJTZXQuaDoKKyAgICAgICAgKiBqaXQvVGVtcFJlZ2lzdGVyU2V0LmNwcDoKKyAg
ICAgICAgKiBqaXQvVGVtcFJlZ2lzdGVyU2V0Lmg6CisgICAgICAgICogbGxpbnQvTExJbnRDTG9v
cC5jcHA6CisgICAgICAgICogbGxpbnQvTExJbnRDTG9vcC5oOgorICAgICAgICAqIGxsaW50L0xM
SW50RGF0YS5jcHA6CisgICAgICAgIChKU0M6OkxMSW50Ojppbml0aWFsaXplKToKKyAgICAgICAg
KEpTQzo6TExJbnQ6OkRhdGE6OnBlcmZvcm1Bc3NlcnRpb25zKToKKyAgICAgICAgKiBsbGludC9M
TEludERhdGEuaDoKKyAgICAgICAgKiBsbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaDoKKyAg
ICAgICAgKiBsbGludC9MTEludE9wY29kZS5oOgorICAgICAgICAqIGxsaW50L0xMSW50UENSYW5n
ZXMuaDoKKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6
OkxMSW50OjpMTElOVF9TTE9XX1BBVEhfREVDTCk6CisgICAgICAgICogbGxpbnQvTExJbnRTbG93
UGF0aHMuaDoKKyAgICAgICAgKiBsbGludC9MTEludFRodW5rcy5jcHA6CisgICAgICAgICogbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHA6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNDSlNWYWx1ZS5oOgorICAgICAgICAqIHJ1
bnRpbWUvTWFjaGluZUNvbnRleHQuaDoKKyAgICAgICAgKiBydW50aW1lL1NhbXBsaW5nUHJvZmls
ZXIuY3BwOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVyOjpwcm9jZXNzVW52ZXJpZmll
ZFN0YWNrVHJhY2VzKTogRW5hYmxlIFNhbXBsaW5nUHJvZmlsZXIKKyAgICAgICAgZm9yIExMSW50
IEFTTSBpbnRlcnByZXRlciB3aXRoIG5vbiBKSVQgY29uZmlndXJhdGlvbi4KKyAgICAgICAgKiBy
dW50aW1lL1ZNLmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKEpTQzo6Vk06
OnVwZGF0ZVNvZnRSZXNlcnZlZFpvbmVTaXplKToKKyAgICAgICAgKEpTQzo6c2FuaXRpemVTdGFj
a0ZvclZNKToKKyAgICAgICAgKEpTQzo6Vk06OmNvbW1pdHRlZFN0YWNrQnl0ZUNvdW50KToKKyAg
ICAgICAgKiBydW50aW1lL1ZNLmg6CisgICAgICAgICogcnVudGltZS9WTUlubGluZXMuaDoKKyAg
ICAgICAgKEpTQzo6Vk06OmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3IpOgorICAgICAgICAoSlNDOjpW
TTo6aXNTYWZlVG9SZWN1cnNlU29mdCBjb25zdCk6CisKIDIwMTgtMDktMjAgIFJ5YW4gSGFkZGFk
ICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjIzNjI5My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKaW5kZXggODk1YmY5OTE2M2RiM2FhZGIxZmM3NGUzZDMxZTMyNDE4NmMxYzky
ZS4uZTc4MzhkN2E4YzZhMjhjYWRkNTUzZjhhMTNjNjZmYWU3NDYzYTc1NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxOC0wOS0yMSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3Rh
cnQub3JnPgorCisgICAgICAgIFtKU0NdIEVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIgb24g
WDY0IGFuZCBBUk02NCBpbiBub24gSklUIGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTc3OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBFTkFCTEUoQ19M
T09QKSB3aGljaCBpbmRpY2F0ZXMgd2UgdXNlIENMb29wIGFzIHRoZSBpbnRlcnByZXRlci4KKyAg
ICAgICAgUHJldmlvdXNseSwgd2UgdXNlZCAhRU5BQkxFKEpJVCkgZm9yIHRoaXMgY29uZmlndXJh
dGlvbi4gQnV0IG5vdywgd2UgaGF2ZQorICAgICAgICBhIGJ1aWxkIGNvbmZpZ3VyYXRpb24gdGhh
dCBoYXMgTExJbnQgQVNNIGludGVycHJldGVyIChub3QgQ0xvb3ApIGFuZCAhRU5BQkxFKEpJVCku
CisKKyAgICAgICAgV2UgZW5hYmxlIExMSW50IEFTTSBpbnRlcnByZXRlciBmb3Igbm9uIEpJVCBl
bnZpcm9ubWVudCBpbiBYODZfNjQgYW5kIEFSTTY0IGFyY2hpdGVjdHVyZXMuCisgICAgICAgIEFu
ZCB3ZSBlbmFibGUgRU5BQkxFKEFTU0VNQkxFUikgZm9yIG5vbiBKSVQgZW52aXJvbm1lbnQgc2lu
Y2UgaXQgb2ZmZXJzIG1hY2hpbmUgcmVnaXN0ZXIKKyAgICAgICAgaW5mb3JtYXRpb24gd2hpY2gg
aXMgdXNlZCBmb3IgTExJbnQgYW5kIFNhbXBsaW5nUHJvZmlsZXIuCisKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm0uaDoKKwogMjAxOC0wOS0yMCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBbV2luXVtDbGFuZ10gVU5VU0VEX1BBUkFNKHRoaXMpIGNh
dXNlcyBjb21waWxhdGlvbiBlcnJvciBvZiAiY2Fubm90IHRha2UgdGhlIGFkZHJlc3Mgb2YgYW4g
cnZhbHVlIG9mIHR5cGUiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rl
c3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS90ZXN0cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcAppbmRleCBmYmU0Njg3MjAz
MmI4NjEwOTAzMzQ1ZjY0N2VhZGRhMzRjMGQ4OTkxLi44MzJiZDE0MGJjOTVlYWRiZDU2YjQyOGY3
MDM3MTdhNDczNGViYzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rl
c3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvdGVzdHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAKQEAgLTEyNyw3ICsx
MjcsNyBAQCBpbnQgdGVzdFBpbmdQb25nU3RhY2tPdmVyZmxvdygpCiAKICAgICBPcHRpb25zOjpz
b2Z0UmVzZXJ2ZWRab25lU2l6ZSgpID0gMTI4ICogS0I7CiAgICAgT3B0aW9uczo6cmVzZXJ2ZWRa
b25lU2l6ZSgpID0gNjQgKiBLQjsKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1Ap
CiAgICAgLy8gTm9ybWFsbHksIHdlIHdhbnQgdG8gZGlzYWJsZSB0aGUgTExJTlQgdG8gZm9yY2Ug
dGhlIHVzZSBvZiBKSVR0ZWQgY29kZSB3aGljaCBpcyBuZWNlc3NhcnkgZm9yCiAgICAgLy8gcmVw
cm9kdWNpbmcgdGhlIHJlZ3Jlc3Npb24gaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0ODc0OS4gSG93ZXZlciwgd2Ugb25seQogICAgIC8vIHdhbnQgdG8gZG8gdGhp
cyBpZiB0aGUgTExJTlQgaXNuJ3QgdGhlIG9ubHkgYXZhaWxhYmxlIGV4ZWN1dGlvbiBlbmdpbmUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTZlMzNhMjA1NzdhNGE1NzU0
YTFmZWE5NDMyZDc5NjQwNjEyNDMyMi4uMWFkZmExNGQ2NGEyNjRjZmM3MGMwMzVmZjU2M2Y3ZDdh
MDAxNmVjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjMyLDYgKzIz
MiwxMiBAQCBlbHNlICgpCiAKICAgICBpZiAoTk9UIEVOQUJMRV9KSVQpCiAgICAgICAgIHNldChP
RkZMSU5FX0FTTV9CQUNLRU5EICJDX0xPT1AiKQorICAgICAgICAjIEZvciBtYWpvciB0d28gYXJj
aGl0ZWN0dXJlcywgd2UgdXNlIExMSW50IEFTTSBpbnRlcnByZXRlcnMuCisgICAgICAgIGlmIChX
VEZfQ1BVX1g4Nl82NCkKKyAgICAgICAgICAgIHNldChPRkZMSU5FX0FTTV9CQUNLRU5EICJYODZf
NjQiKQorICAgICAgICBlbHNlaWYgKFdURl9DUFVfQVJNNjQpCisgICAgICAgICAgICBzZXQoT0ZG
TElORV9BU01fQkFDS0VORCAiQVJNNjQiKQorICAgICAgICBlbmRpZiAoKQogICAgIGVuZGlmICgp
CiBlbmRpZiAoKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDljNWM1MGM2MjFi
OGI2ZTNmYTczOGIzZjk2YmIyNmIxYWRiZDhkZmUuLjU3ZDBlOTZlNjU5NjZlMDBkOGYzMWFiZWI2
NjUzMTVkY2YwNGNjZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDksNyAr
MTA5LDYgQEAKIAkJMEYwQjgzQTkxNEJDRjU2MjAwODg1QjRGIC8qIEhhbmRsZXJJbmZvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBCODNBODE0QkNG
NTVFMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjBCODNBQjE0QkNGNUJCMDA4ODVCNEYgLyogRXhwcmVz
c2lvblJhbmdlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYwQjgzQUExNEJDRjVCOTAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjBCODNC
MTE0QkNGNzE4MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2Fs
bExpbmtJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJMEYwQjgzQjkxNEJDRjk1RjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjBCODNCODE0QkNGOTVCMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVP
ZmZzZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkwRjBDQUVGQzFFQzREQTZCMDA5NzBEMTIgLyogSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwQ0FFRkExRUM0
REE2MjAwOTcwRDEyIC8qIEpTSGVhcEZpbmFsaXplclByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjBDQUVGRjFFQzREQTg4MDA5NzBE
MTIgLyogSGVhcEZpbmFsaXplckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBDQUVGRTFFQzREQTg1MDA5NzBEMTIgLyogSGVhcEZpbmFs
aXplckNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMEYwQ0Q0QzIxNUYxQTYwNzAwMzJGMUMwIC8qIFB1dERpcmVjdEluZGV4TW9kZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwQ0Q0QzAx
NUYxQTYwNDAwMzJGMUMwIC8qIFB1dERpcmVjdEluZGV4TW9kZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yMDExLDcgKzIwMTAsNiBAQAogCQkw
RjBCODNBQTE0QkNGNUI5MDA4ODVCNEYgLyogRXhwcmVzc2lvblJhbmdlSW5mby5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeHByZXNzaW9uUmFuZ2VJbmZvLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMEI4M0FFMTRCQ0Y3MTQwMDg4NUI0RiAvKiBDYWxsTGlu
a0luZm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FsbExpbmtJ
bmZvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYwQjgzQUYxNEJDRjcxNDAw
ODg1QjRGIC8qIENhbGxMaW5rSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDYWxsTGlua0luZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEYwQjgzQjgx
NEJDRjk1QjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2Rl
T2Zmc2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMENBRUY5MUVDNERBNjIw
MDk3MEQxMiAvKiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTSGVhcEZpbmFsaXplclByaXZhdGUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwRjBDQUVGQTFFQzREQTYyMDA5NzBEMTIgLyogSlNIZWFwRmlu
YWxpemVyUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hlYXBG
aW5hbGl6ZXJQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMENBRUZE
MUVDNERBODUwMDk3MEQxMiAvKiBIZWFwRmluYWxpemVyQ2FsbGJhY2suY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGVhcEZpbmFsaXplckNhbGxiYWNrLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2MzEsNyArNzYyOSw2IEBACiAJCQkJMEY5MzMy
OTQxNENBN0RDMTAwODVGM0M2IC8qIENhbGxMaW5rU3RhdHVzLmggKi8sCiAJCQkJNjI3NjczMjEx
QjY4MEMxRTAwRkQ5RjJFIC8qIENhbGxNb2RlLmNwcCAqLywKIAkJCQk2Mjc2NzMyMjFCNjgwQzFF
MDBGRDlGMkUgLyogQ2FsbE1vZGUuaCAqLywKLQkJCQkwRjBCODNCODE0QkNGOTVCMDA4ODVCNEYg
LyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCAqLywKIAkJCQkwRjNCN0UyNDE5
QTExQjgwMDBEOUJDNTYgLyogQ2FsbFZhcmlhbnQuY3BwICovLAogCQkJCTBGM0I3RTI1MTlBMTFC
ODAwMEQ5QkM1NiAvKiBDYWxsVmFyaWFudC5oICovLAogCQkJCTk2OUEwNzkwMEVEMUQzQUUwMEYx
RjY4MSAvKiBDb2RlQmxvY2suY3BwICovLApAQCAtNzgzMCw3ICs3ODI3LDYgQEAKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJOTlEQTAwOTkxQkQ1OTkyNzAwRjQ1NzVD
IC8qIF9faW5pdF9fLnB5ICovLAotCQkJCTk5REEwMDlEMUJENTk5MjcwMEY0NTc1QyAvKiB3a2J1
aWx0aW5zLnB5ICovLAogCQkJCTk5REEwMDlFMUJENTk5MjcwMEY0NTc1QyAvKiBidWlsdGluc19n
ZW5lcmF0ZV9jb21iaW5lZF9oZWFkZXIucHkgKi8sCiAJCQkJOTlEQTAwOUYxQkQ1OTkyNzAwRjQ1
NzVDIC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2NvbWJpbmVkX2ltcGxlbWVudGF0aW9uLnB5ICovLAog
CQkJCTQxMjk1MjczMUQyQ0Y2QUMwMEU3OEI4OSAvKiBidWlsdGluc19nZW5lcmF0ZV9pbnRlcm5h
bHNfd3JhcHBlcl9oZWFkZXIucHkgKi8sCkBAIC03ODQyLDYgKzc4MzgsNyBAQAogCQkJCTk5REEw
MDlBMUJENTk5MjcwMEY0NTc1QyAvKiBidWlsdGluc19nZW5lcmF0b3IucHkgKi8sCiAJCQkJOTlE
QTAwOUIxQkQ1OTkyNzAwRjQ1NzVDIC8qIGJ1aWx0aW5zX21vZGVsLnB5ICovLAogCQkJCTk5REEw
MDlDMUJENTk5MjcwMEY0NTc1QyAvKiBidWlsdGluc190ZW1wbGF0ZXMucHkgKi8sCisJCQkJOTlE
QTAwOUQxQkQ1OTkyNzAwRjQ1NzVDIC8qIHdrYnVpbHRpbnMucHkgKi8sCiAJCQkpOwogCQkJcGF0
aCA9IHdrYnVpbHRpbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtODQzOSw3ICs4
NDM2LDYgQEAKIAkJCQlERTI2RTkwMzFDQjVERDA1MDBEMkJFODIgLyogQnVpbHRpbkV4ZWN1dGFi
bGVDcmVhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q4MDFBNTE4ODBENjZFMDAyNkMzOUIg
LyogQnVpbHRpbkV4ZWN1dGFibGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzVFRTlCMjE4QUFC
N0UyMDBBQUQwNDMgLyogQnVpbHRpbk5hbWVzLmggaW4gSGVhZGVycyAqLywKLQkJCQk5OURBMDBB
NjFCRDU5OTMxMDBGNDU3NUMgLyogd2tidWlsdGlucy5weSBpbiBIZWFkZXJzICovLAogCQkJCTk5
REEwMEE3MUJENTk5MzEwMEY0NTc1QyAvKiBidWlsdGluc19nZW5lcmF0ZV9jb21iaW5lZF9oZWFk
ZXIucHkgaW4gSGVhZGVycyAqLywKIAkJCQk5OURBMDBBODFCRDU5OTMxMDBGNDU3NUMgLyogYnVp
bHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaW1wbGVtZW50YXRpb24ucHkgaW4gSGVhZGVycyAqLywK
IAkJCQk0MTI5NTI3NzFEMkNGNkJDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJu
YWxzX3dyYXBwZXJfaGVhZGVyLnB5IGluIEhlYWRlcnMgKi8sCkBAIC04NDgxLDcgKzg0NzcsNiBA
QAogCQkJCTBGMEI4M0IxMTRCQ0Y3MTgwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGOTMzMjlFMTRDQTdEQzUwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNjI3NjczMjQxQjY4MEMxRTAwRkQ5RjJFIC8qIENhbGxNb2Rl
LmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjBCODNCOTE0QkNGOTVGMDA4ODVCNEYgLyogQ2FsbFJl
dHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGM0I3RTJC
MTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxsVmFyaWFudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU4
MEMxOTcxRDc3NUNERDAwODUxMEMwIC8qIENhdGNoU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGMjRFNTQyMTdFQTlGNTkwMEFCQjIxNyAvKiBDQ2FsbEhlbHBlcnMuaCBpbiBIZWFkZXJzICov
LApAQCAtOTY4OSw2ICs5Njg0LDcgQEAKIAkJCQlBREJDNTRENTFERjhFQTJCMDA1QkY3MzggLyog
V2ViQXNzZW1ibHlUb0pTQ2FsbGVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MkY2QzM1RTFFNzFF
QjA4MDA4MUY0Q0MgLyogV2ViQXNzZW1ibHlXcmFwcGVyRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMThDNDdBMEUxNkY1Q0QwMEIzNDQ2MCAvKiBXZWJLaXRBdmFpbGFiaWxpdHkuaCBp
biBIZWFkZXJzICovLAorCQkJCTk5REEwMEE2MUJENTk5MzEwMEY0NTc1QyAvKiB3a2J1aWx0aW5z
LnB5IGluIEhlYWRlcnMgKi8sCiAJCQkJQTdEQ0I5NzMxMkU1MTkzRjAwOTExOTQwIC8qIFdyaXRl
QmFycmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJCNkQ3NTMxOEEzMzc5MzAwNEE5MzAxIC8q
IFdyaXRlQmFycmllcklubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQzgxNTBBMTQwNDNC
RjUwMENGQTYwMyAvKiBXcml0ZUJhcnJpZXJTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWF4RnJhbWVF
eHRlbnRGb3JTbG93UGF0aENhbGwuaAppbmRleCBjNmY1M2IzNDc5NjZjNjYzNTRkMDFmOGFkNmRj
ZmJjYzg5NzlmZjczLi40MzIxMzA1YzY4ZTRkYWY2MjgyM2Y2ZWVmNzU5NTFmYTI3YTkzNmJlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50
Rm9yU2xvd1BhdGhDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogLy8gdGhhdCBjYW4gYmUgdXNlZCBmb3Igb3V0Z29pbmcgYXJncyB3aGVuIGNhbGxp
bmcgYSBzbG93IHBhdGggQyBmdW5jdGlvbgogLy8gZnJvbSBKUyBjb2RlLgogCi0jaWYgIUVOQUJM
RShKSVQpCisjaWYgIUVOQUJMRShBU1NFTUJMRVIpCiBzdGF0aWMgY29uc3Qgc2l6ZV90IG1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gMDsKIAogI2VsaWYgQ1BVKFg4Nl82NCkgJiYgT1Mo
V0lORE9XUykKQEAgLTY5LDcgKzY5LDcgQEAgc3RhdGljIGNvbnN0IHNpemVfdCBtYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbCA9IDQwOwogCiBDT01QSUxFX0FTU0VSVCghKG1heEZyYW1lRXh0
ZW50Rm9yU2xvd1BhdGhDYWxsICUgc2l6ZW9mKFJlZ2lzdGVyKSksIGV4dGVudF9tdXN0X2JlX2lu
X211bHRpcGxlc19vZl9yZWdpc3RlcnMpOwogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUo
QVNTRU1CTEVSKQogLy8gTWFrZSBzdXJlIHRoYXQgY2ZyIC0gbWF4RnJhbWVFeHRlbnRGb3JTbG93
UGF0aENhbGwgYnl0ZXMgd2lsbCBtYWtlIHRoZSBzdGFjayBwb2ludGVyIGFsaWduZWQKIENPTVBJ
TEVfQVNTRVJUKChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCAlIDE2KSA9PSAxNiAtIHNp
emVvZihDYWxsZXJGcmFtZUFuZFBDKSwgZXh0ZW50X211c3RfYWxpZ25fc3RhY2tfZnJvbV9jYWxs
ZnJhbWVfcG9pbnRlcik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9DYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkMWIwMGNiZTgxODEyMmY2ZTcyMDI3N2Nj
Y2YyMDY2YWJmN2VhYTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxSZXR1cm5PZmZzZXRUb0J5
dGVjb2RlT2Zmc2V0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1l
c3BhY2UgSlNDIHsKLQotI2lmIEVOQUJMRShKSVQpCi0vLyBUaGlzIHN0cnVjdHVyZSBpcyB1c2Vk
IHRvIG1hcCBmcm9tIGEgY2FsbCByZXR1cm4gbG9jYXRpb24KLS8vIChnaXZlbiBhcyBhbiBvZmZz
ZXQgaW4gYnl0ZXMgaW50byB0aGUgSklUIGNvZGUpIGJhY2sgdG8KLS8vIHRoZSBieXRlY29kZSBp
bmRleCBvZiB0aGUgY29ycmVzcG9uZGluZyBieXRlY29kZSBvcGVyYXRpb24uCi0vLyBUaGlzIGlz
IHRoZW4gdXNlZCB0byBsb29rIHVwIHRoZSBjb3JyZXNwb25kaW5nIGhhbmRsZXIuCi0vLyBGSVhN
RTogVGhpcyBzaG91bGQgYmUgbWFkZSBpbmxpbmluZyBhd2FyZSEgQ3VycmVudGx5IGl0IGlzbid0
Ci0vLyBiZWNhdXNlIHdlIG5ldmVyIGlubGluZSBjb2RlIHRoYXQgaGFzIGV4Y2VwdGlvbiBoYW5k
bGVycy4KLXN0cnVjdCBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldCB7Ci0gICAgQ2Fs
bFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQodW5zaWduZWQgY2FsbFJldHVybk9mZnNldCwg
dW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQpCi0gICAgICAgIDogY2FsbFJldHVybk9mZnNldChjYWxs
UmV0dXJuT2Zmc2V0KQotICAgICAgICAsIGJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KQot
ICAgIHsKLSAgICB9Ci0KLSAgICB1bnNpZ25lZCBjYWxsUmV0dXJuT2Zmc2V0OwotICAgIHVuc2ln
bmVkIGJ5dGVjb2RlT2Zmc2V0OwotfTsKLQotaW5saW5lIHVuc2lnbmVkIGdldENhbGxSZXR1cm5P
ZmZzZXQoQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQqIHBjKQotewotICAgIHJldHVy
biBwYy0+Y2FsbFJldHVybk9mZnNldDsKLX0KLSNlbmRpZgotCi19IC8vIG5hbWVzcGFjZSBKU0MK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggMjdh
ZjBmZGUyYzA4YzVhNTRmYjgxOWQxYWNjM2IxMzRlNzYzMTVlMy4uNjU0YzE0NzE3Nzg0ZWJmOTYx
OWYzNWI0NDY3NThhZTkwMTQwMjRhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5jcHAKQEAgLTg5LDcgKzg5LDcgQEAKICNpbmNsdWRlIDx3dGYvU3RyaW5n
UHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9VbmlxdWVkU3RyaW5nSW1wbC5oPgog
Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogI2luY2x1ZGUgIlJlZ2lz
dGVyQXRPZmZzZXRMaXN0LmgiCiAjZW5kaWYKIApAQCAtNTA5LDcgKzUwOSw3IEBAIGJvb2wgQ29k
ZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNjcmlwdEV4ZWN1dGFibGUqIG93bmVyRXhl
Y3V0YWJsZSwgVW5saW5rCiAgICAgaWYgKHNpemVfdCBzaXplID0gdW5saW5rZWRDb2RlQmxvY2st
Pm51bWJlck9mT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVzKCkpCiAgICAgICAgIG1fb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGVzID0gUmVmQ291bnRlZEFycmF5PE9iamVjdEFsbG9jYXRpb25Qcm9maWxl
PihzaXplKTsKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAgICAgc2V0
Q2FsbGVlU2F2ZVJlZ2lzdGVycyhSZWdpc3RlclNldDo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVS
ZWdpc3RlcnMoKSk7CiAjZW5kaWYKIApAQCAtMjE0NSw3ICsyMTQ1LDcgQEAgdW5zaWduZWQgQ29k
ZUJsb2NrOjpyZW9wdGltaXphdGlvblJldHJ5Q291bnRlcigpIGNvbnN0CiAjZW5kaWYgLy8gRU5B
QkxFKEpJVCkKIH0KIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiB2b2lk
IENvZGVCbG9jazo6c2V0Q2FsbGVlU2F2ZVJlZ2lzdGVycyhSZWdpc3RlclNldCBjYWxsZWVTYXZl
UmVnaXN0ZXJzKQogewogICAgIG1fY2FsbGVlU2F2ZVJlZ2lzdGVycyA9IHN0ZDo6bWFrZV91bmlx
dWU8UmVnaXN0ZXJBdE9mZnNldExpc3Q+KGNhbGxlZVNhdmVSZWdpc3RlcnMpOwpAQCAtMjE3Miw2
ICsyMTcyLDkgQEAgc2l6ZV90IENvZGVCbG9jazo6Y2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVn
aXN0ZXJzKCkKIHsKICAgICByZXR1cm4gcm91bmRDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdp
c3RlcnMobV9jYWxsZWVTYXZlUmVnaXN0ZXJzLT5zaXplKCkpOwogfQorI2VuZGlmCisKKyNpZiBF
TkFCTEUoSklUKQogCiB2b2lkIENvZGVCbG9jazo6Y291bnRSZW9wdGltaXphdGlvbigpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggYTNhM2QyNjM5
MDBkMzEyMmMwOWUyMDRmMzJiNTdiM2UxMDFhMzJiMi4uMDE0N2Q3YTc5Yzg5ZDYxZjQyM2ZkNGRl
ZGQzY2NjNmUxZTQyMzdiYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suaApAQCAtNjQ1LDExICs2NDUsMjMgQEAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEpT
Q2VsbCB7CiAgICAgLy8gdG8gYXZvaWQgdGhyYXNoaW5nLgogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHVuc2lnbmVkIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyKCkgY29uc3Q7CiAgICAgdm9pZCBj
b3VudFJlb3B0aW1pemF0aW9uKCk7Ci0jaWYgRU5BQkxFKEpJVCkKKworI2lmICFFTkFCTEUoQ19M
T09QKQorICAgIHZvaWQgc2V0Q2FsbGVlU2F2ZVJlZ2lzdGVycyhSZWdpc3RlclNldCk7CisgICAg
dm9pZCBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJzKHN0ZDo6dW5pcXVlX3B0cjxSZWdpc3RlckF0T2Zm
c2V0TGlzdD4pOworCisgICAgUmVnaXN0ZXJBdE9mZnNldExpc3QqIGNhbGxlZVNhdmVSZWdpc3Rl
cnMoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZVNhdmVSZWdpc3RlcnMuZ2V0KCk7IH0KKwogICAg
IHN0YXRpYyB1bnNpZ25lZCBudW1iZXJPZkxMSW50QmFzZWxpbmVDYWxsZWVTYXZlUmVnaXN0ZXJz
KCkgeyByZXR1cm4gUmVnaXN0ZXJTZXQ6OmxsaW50QmFzZWxpbmVDYWxsZWVTYXZlUmVnaXN0ZXJz
KCkubnVtYmVyT2ZTZXRSZWdpc3RlcnMoKTsgfQogICAgIHN0YXRpYyBzaXplX3QgbGxpbnRCYXNl
bGluZUNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpOwogICAgIHNpemVfdCBjYWxs
ZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKTsKKyNlbHNlCisgICAgc3RhdGljIHVuc2ln
bmVkIG51bWJlck9mTExJbnRCYXNlbGluZUNhbGxlZVNhdmVSZWdpc3RlcnMoKSB7IHJldHVybiAw
OyB9CisgICAgc3RhdGljIHNpemVfdCBsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0
dWFsUmVnaXN0ZXJzKCkgeyByZXR1cm4gMDsgfTsKKyAgICBzaXplX3QgY2FsbGVlU2F2ZVNwYWNl
QXNWaXJ0dWFsUmVnaXN0ZXJzKCkgeyByZXR1cm4gMDsgfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUo
SklUKQogICAgIHVuc2lnbmVkIG51bWJlck9mREZHQ29tcGlsZXMoKTsKIAogICAgIGludDMyX3Qg
Y29kZVR5cGVUaHJlc2hvbGRNdWx0aXBsaWVyKCkgY29uc3Q7CkBAIC03MzksMTQgKzc1MSw3IEBA
IGNsYXNzIENvZGVCbG9jayA6IHB1YmxpYyBKU0NlbGwgewogICAgIGJvb2wgc2hvdWxkUmVvcHRp
bWl6ZU5vdygpOwogICAgIGJvb2wgc2hvdWxkUmVvcHRpbWl6ZUZyb21Mb29wTm93KCk7CiAKLSAg
ICB2b2lkIHNldENhbGxlZVNhdmVSZWdpc3RlcnMoUmVnaXN0ZXJTZXQpOwotICAgIHZvaWQgc2V0
Q2FsbGVlU2F2ZVJlZ2lzdGVycyhzdGQ6OnVuaXF1ZV9wdHI8UmVnaXN0ZXJBdE9mZnNldExpc3Q+
KTsKLSAgICAKLSAgICBSZWdpc3RlckF0T2Zmc2V0TGlzdCogY2FsbGVlU2F2ZVJlZ2lzdGVycygp
IGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU2F2ZVJlZ2lzdGVycy5nZXQoKTsgfQogI2Vsc2UgLy8g
Tm8gSklUCi0gICAgc3RhdGljIHVuc2lnbmVkIG51bWJlck9mTExJbnRCYXNlbGluZUNhbGxlZVNh
dmVSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9Ci0gICAgc3RhdGljIHNpemVfdCBsbGludEJhc2Vs
aW5lQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKCkgeyByZXR1cm4gMDsgfTsKLSAg
ICBzaXplX3QgY2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKCkgeyByZXR1cm4gMDsg
fQogICAgIHZvaWQgb3B0aW1pemVBZnRlcldhcm1VcCgpIHsgfQogICAgIHVuc2lnbmVkIG51bWJl
ck9mREZHQ29tcGlsZXMoKSB7IHJldHVybiAwOyB9CiAjZW5kaWYKQEAgLTk2NSw4ICs5NzAsMTAg
QEAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEpTQ2VsbCB7CiAgICAgU2VudGluZWxMaW5rZWRM
aXN0PExMSW50Q2FsbExpbmtJbmZvLCBCYXNpY1Jhd1NlbnRpbmVsTm9kZTxMTEludENhbGxMaW5r
SW5mbz4+IG1faW5jb21pbmdMTEludENhbGxzOwogICAgIFN0cnVjdHVyZVdhdGNocG9pbnRNYXAg
bV9sbGludEdldEJ5SWRXYXRjaHBvaW50TWFwOwogICAgIFBvaXNvbmVkUmVmUHRyPENvZGVCbG9j
a1BvaXNvbiwgSklUQ29kZT4gbV9qaXRDb2RlOwotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJM
RShDX0xPT1ApCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlZ2lzdGVyQXRPZmZzZXRMaXN0PiBtX2Nh
bGxlZVNhdmVSZWdpc3RlcnM7CisjZW5kaWYKKyNpZiBFTkFCTEUoSklUKQogICAgIFBvaXNvbmVk
QmFnPENvZGVCbG9ja1BvaXNvbiwgU3RydWN0dXJlU3R1YkluZm8+IG1fc3R1YkluZm9zOwogICAg
IFBvaXNvbmVkQmFnPENvZGVCbG9ja1BvaXNvbiwgSklUQWRkSUM+IG1fYWRkSUNzOwogICAgIFBv
aXNvbmVkQmFnPENvZGVCbG9ja1BvaXNvbiwgSklUTXVsSUM+IG1fbXVsSUNzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCmluZGV4IDRlZjI3NGZhZWIzNGIwMWY4ZWNiYzZk
NGRmOTU0MDFjODk5N2RhMzguLmJlMzg4ZTE4OWM5Mzc2NmU0ZTBkZmFiMTIyYmE1MTVjNjAxNDE2
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKQEAgLTU4LDcgKzU4
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAjdW5kZWYgT1BDT0RFX0lEX0VOVU0KIAogY29uc3QgaW50
IG1heE9wY29kZUxlbmd0aCA9IDk7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9P
UCkKIGNvbnN0IGludCBudW1PcGNvZGVJRHMgPSBOVU1CRVJfT0ZfQllURUNPREVfSURTICsgTlVN
QkVSX09GX0NMT09QX0JZVEVDT0RFX0hFTFBFUl9JRFMgKyBOVU1CRVJfT0ZfQllURUNPREVfSEVM
UEVSX0lEUzsKICNlbHNlCiBjb25zdCBpbnQgbnVtT3Bjb2RlSURzID0gTlVNQkVSX09GX0JZVEVD
T0RFX0lEUyArIE5VTUJFUl9PRl9CWVRFQ09ERV9IRUxQRVJfSURTOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmNwcAppbmRleCA3YTQ2YTUyZTdhMzc4NTQwMmJmMjEzNzdkMDg1NDFhNGQ1N2Nm
MGQwLi5mNDU4MDQ5NGQ3ODMwNDllYzEwYzRjNDhmYWY4YjBiNzkwNDNiY2FjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaGVhcC9IZWFwLmNwcApAQCAtNjcyLDcgKzY3Miw3IEBAIHZvaWQgSGVhcDo6Z2F0
aGVyU3RhY2tSb290cyhDb25zZXJ2YXRpdmVSb290cyYgcm9vdHMpCiAKIHZvaWQgSGVhcDo6Z2F0
aGVySlNTdGFja1Jvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJiByb290cykKIHsKLSNpZiAhRU5BQkxF
KEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIG1fdm0tPmludGVycHJldGVyLT5jbG9vcFN0
YWNrKCkuZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMocm9vdHMsICptX2ppdFN0dWJSb3V0aW5lcywg
Km1fY29kZUJsb2Nrcyk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShyb290cyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5jcHAKaW5kZXggYWJj
MTBhOGZlYWQyODYxNTE5NjliYTIyMzVjYjM0N2M3ZTYxZTg1Ny4uOWEyMDA3MjY2Mjg4YjhhZGVl
M2I4OTA1NGViNzI2MTI1NDU0MjdhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DTG9vcFN0YWNrLmNwcApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkNMb29wU3RhY2suaCIKIAotI2lmICFFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJDTG9vcFN0YWNrSW5saW5lcy5oIgogI2luY2x1
ZGUgIkNvbnNlcnZhdGl2ZVJvb3RzLmgiCkBAIC0xNjMsNCArMTYzLDQgQEAgc2l6ZV90IENMb29w
U3RhY2s6OmNvbW1pdHRlZEJ5dGVDb3VudCgpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5k
aWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oCmluZGV4IDllNWRkYTE0YjJi
YjBkNGZjNzdmNWM3ZDY5OTRhN2JmMjc3MWYxYmIuLjFmNGQ5OWQ4YjQzNGU5YjQ3OWU0ODM3YTI5
ZGZkYzFiYzVjN2FiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9DTG9vcFN0YWNrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0NMb29wU3RhY2suaApAQCAtMjgsNyArMjgsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmICFF
TkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJSZWdpc3Rlci5oIgog
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtMTA3LDQgKzEwNyw0IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQor
I2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrSW5saW5lcy5oCmluZGV4IDk5N2ZhZjY2Y2MzNzg4OGYx
NmMyYTM1ZjBkYjUyMTM1NjNjZGMzZWUuLmY2YmExN2NjMTAwNzZjN2Y0NzlkOTVmNjZkNWJkZWQy
YmViNTVlMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9D
TG9vcFN0YWNrSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DTG9vcFN0YWNrSW5saW5lcy5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2luY2x1ZGUgIkNMb29w
U3RhY2suaCIKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKQEAgLTU5LDQgKzU5LDQgQEAgaW5saW5l
IHZvaWQgQ0xvb3BTdGFjazo6c2V0Q0xvb3BTdGFja0xpbWl0KFJlZ2lzdGVyKiBuZXdUb3BPZlN0
YWNrKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0VudHJ5RnJhbWUuaAppbmRleCBiZTg0MjU5MGY2ZTkwY2NkYTYxNDhmYzYwZDAxYmIyNjdj
NGE0Yzg2Li45NTA5NThkOTM2NWI4YTU1ZDU1YjI5Njg5Nzg2YWZjMDM0M2Q4ZTc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9FbnRyeUZyYW1lLmgKQEAgLTMxLDcg
KzMxLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBzdHJ1Y3QgRW50cnlGcmFtZSB7Ci0jaWYgRU5B
QkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCisjaWYgIUVO
QUJMRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAogICAg
IHN0YXRpYyBwdHJkaWZmX3Qgdm1FbnRyeVJlY29yZE9mZnNldCgpCiAgICAgewogICAgICAgICBF
bnRyeUZyYW1lKiBmYWtlRW50cnlGcmFtZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RW50cnlGcmFtZSo+
KDB4MTAwMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVy
cHJldGVyLmNwcAppbmRleCA3MTI2ZDAyOWY2MjIzYjJlYTIwMDI2YTkyNjVkZDk1MmViNDA1MjU1
Li5iYmM2OWRiNjliMWU3Zjk4NDRjMjc4MTQ2OTJlMGIwZGYzZmRkN2ZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTY3LDYg
KzY3LDcgQEAKICNpbmNsdWRlICJQcm90b0NhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlJlZ0V4cE9i
amVjdC5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCisjaW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNl
dExpc3QuaCIKICNpbmNsdWRlICJTY29wZWRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJTdGFja0Fs
aWdubWVudC5oIgogI2luY2x1ZGUgIlN0YWNrRnJhbWUuaCIKQEAgLTMzMiw3ICszMzMsNyBAQCB2
b2lkIHNldHVwRm9yd2FyZEFyZ3VtZW50c0ZyYW1lQW5kU2V0VGhpcyhDYWxsRnJhbWUqIGV4ZWND
YWxsZXIsIENhbGxGcmFtZSogZXhlYwogCiBJbnRlcnByZXRlcjo6SW50ZXJwcmV0ZXIoVk0mIHZt
KQogICAgIDogbV92bSh2bSkKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQog
ICAgICwgbV9jbG9vcFN0YWNrKHZtKQogI2VuZGlmCiB7CkBAIC01NjMsNyArNTY0LDcgQEAgY2xh
c3MgVW53aW5kRnVuY3RvciB7CiBwcml2YXRlOgogICAgIHZvaWQgY29weUNhbGxlZVNhdmVzVG9F
bnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIoU3RhY2tWaXNpdG9yJiB2aXNpdG9yKSBjb25zdAog
ICAgIHsKLSNpZiBFTkFCTEUoSklUKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVS
UyA+IDAKKyNpZiAhRU5BQkxFKENfTE9PUCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJ
U1RFUlMgPiAwCiAgICAgICAgIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBjdXJyZW50Q2FsbGVlU2F2
ZXMgPSB2aXNpdG9yLT5jYWxsZWVTYXZlUmVnaXN0ZXJzKCk7CiAKICAgICAgICAgaWYgKCFjdXJy
ZW50Q2FsbGVlU2F2ZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5oCmluZGV4IDA4ZDY1YmE1YmFlMzc2MDE2ZmE0NzEyOTI4YmM0ZmJhZWQ0MjU1
ZmUuLjgxMTc1MDY2MjMyOGE2ODdmMWM3NjllZWIxMjY1NzFhMTMyMzdjY2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zNiw3ICsz
Niw3IEBACiAjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICNpbmNsdWRlICJD
TG9vcFN0YWNrLmgiCiAjZW5kaWYKIApAQCAtOTMsNyArOTMsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgSW50ZXJwcmV0ZXIoVk0gJik7CiAgICAgICAgIH5JbnRlcnByZXRlcigpOwogICAg
ICAgICAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgICAgICBDTG9v
cFN0YWNrJiBjbG9vcFN0YWNrKCkgeyByZXR1cm4gbV9jbG9vcFN0YWNrOyB9CiAjZW5kaWYKICAg
ICAgICAgCkBAIC0xNDcsNyArMTQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTVmFs
dWUgZXhlY3V0ZShDYWxsRnJhbWVDbG9zdXJlJik7CiAKICAgICAgICAgVk0mIG1fdm07Ci0jaWYg
IUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICAgICAgQ0xvb3BTdGFjayBtX2Ns
b29wU3RhY2s7CiAjZW5kaWYKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCmluZGV4IDYwOTExYWIxZTU3YzFkNTEyMzdk
OWNjN2Y2YTA5NjVlZWIyN2E2MjQuLjJlOGM5YTYyYjI2YWNiMDQzZWZlNGJiNmZkMGU0N2U2NTBm
MzE2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFj
a1Zpc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFj
a1Zpc2l0b3IuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgUmVnaXN0ZXJBdE9mZnNldExpc3QqIFN0
YWNrVmlzaXRvcjo6RnJhbWU6OmNhbGxlZVNhdmVSZWdpc3RlcnMoKQogICAgIGlmIChpc0lubGlu
ZWRGcmFtZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotI2lmIEVOQUJMRShKSVQpICYm
IE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAorI2lmICFFTkFCTEUoQ19MT09Q
KSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKIAogI2lmIEVOQUJMRShX
RUJBU1NFTUJMWSkKICAgICBpZiAoaXNXYXNtRnJhbWUoKSkgewpAQCAtMjczLDcgKzI3Myw3IEBA
IFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBTdGFja1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVTYXZlUmVn
aXN0ZXJzKCkKICAgICBpZiAoQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSB0aGlzLT5jb2RlQmxvY2so
KSkKICAgICAgICAgcmV0dXJuIGNvZGVCbG9jay0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygpOwogCi0j
ZW5kaWYgLy8gRU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMg
PiAwCisjZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNf
UkVHSVNURVJTID4gMAogCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvVk1FbnRyeVJlY29yZC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZNRW50cnlSZWNvcmQuaAppbmRleCBlZGI3ZTdlOGM4
YmJjMjk4NWQxYzQxNWNhNDVlOWY1MGVmYzZjNmQwLi4yMWFlMzViNjkxZGMzZWRlYTlmYTdmMGQ3
ZGFiNTlkN2MyNmNhZWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvVk1FbnRyeVJlY29yZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9WTUVudHJ5UmVjb3JkLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RydWN0IFZNRW50cnlSZWNv
cmQgewogCiAgICAgSlNPYmplY3QqIGNhbGxlZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlOyB9
CiAKLSNpZiBFTkFCTEUoSklUKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+
IDAKKyNpZiAhRU5BQkxFKENfTE9PUCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RF
UlMgPiAwCiAgICAgaW50cHRyX3QgY2FsbGVlU2F2ZVJlZ2lzdGVyc0J1ZmZlcltOVU1CRVJfT0Zf
Q0FMTEVFX1NBVkVTX1JFR0lTVEVSU107CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAppbmRleCAxOGJkZTQxY2U0ZjE0ODkzOTJk
NTllZTI2Y2IyM2MyZjI0NGIyODQ3Li4wNzdlZDU4MmVhOTQ4YTQxNDFkZGFlMjc3ZDBiNDRlZDQz
NTA3ZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVB
bGxvY2F0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxv
Y2F0b3IuaApAQCAtMTQ1LDcgKzE0NSw3IEBAIGNsYXNzIEV4ZWN1dGFibGVBbGxvY2F0b3Igewog
CiAjZWxzZQogaW5saW5lIGJvb2wgaXNKSVRQQyh2b2lkKikgeyByZXR1cm4gZmFsc2U7IH0KLSNl
bmRpZiAvLyBFTkFCTEUoSklUKSAmJiBFTkFCTEUoQVNTRU1CTEVSKQorI2VuZGlmIC8vIEVOQUJM
RShBU1NFTUJMRVIpCiAKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
RlBSSW5mby5oCmluZGV4IGEyNGQxY2I3NWEzZmY5OWI2Mzg5NWViYmQxNzlhZTYxNDJkYTU2ZWMu
LjQ4ZjQwMjJlZGUzYTdiMjc4YjhlYjUxYzZmZThhM2Q3YzIxNzJiNmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRlBSSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvRlBSSW5mby5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBKU0MgewogdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlcjo6RlBSZWdpc3RlcklEIEZQUlJlZzsKIHN0YXRpYyBjb25zdGV4
cHIgRlBSUmVnIEludmFsaWRGUFJSZWcgeyBGUFJSZWc6OkludmFsaWRGUFJSZWcgfTsKIAotI2lm
IEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2lmIENQVShYODYpIHx8IENQ
VShYODZfNjQpCiAKQEAgLTMzMiw3ICszMzIsNyBAQCBjbGFzcyBGUFJJbmZvIHsKIC8vIFdlIHVz
ZSB0aGlzIGhhY2sgdG8gZ2V0IHRoZSBGUFJJbmZvIGZyb20gdGhlIEZQUlJlZyB0eXBlIGluIHRl
bXBsYXRlcyBiZWNhdXNlIG91ciBjb2RlIGlzIGJhZCBhbmQgd2Ugc2hvdWxkIGZlZWwgYmFkLi4K
IGNvbnN0ZXhwciBGUFJJbmZvIHRvSW5mb0Zyb21SZWcoRlBSUmVnKSB7IHJldHVybiBGUFJJbmZv
KCk7IH0KIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxF
UikKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKQEAgLTM0MCw3ICszNDAsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKIAogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0LCBKU0M6
OkZQUlJlZyByZWcpCiB7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQog
ICAgIG91dC5wcmludCgiJSIsIEpTQzo6RlBSSW5mbzo6ZGVidWdOYW1lKHJlZykpOwogI2Vsc2UK
ICAgICBvdXQucHJpbnRmKCIlJWZyJWQiLCByZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9HUFJJbmZvLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BS
SW5mby5jcHAKaW5kZXggNWE4MDA1ZjliODVkMWMwY2Y5OGUwYzMwM2ZlOTFhYTUxNmQ1OTkyZi4u
YWY4ZTM1ODA3NGNkNDUzMzhkNDY1NDkxYTUyZTAyMWE4NzA3YmZlYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0dQUkluZm8uY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiR1BSSW5mby5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUo
QVNTRU1CTEVSKQogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDgsNCArNDgsNCBAQCBjb25zdCBH
UFJSZWcgR1BSSW5mbzo6cGF0Y2hwb2ludFNjcmF0Y2hSZWdpc3RlciA9IEFSTTY0UmVnaXN0ZXJz
OjppcDA7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNl
bmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9HUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaApp
bmRleCAyZDM3NGUzYjg1OWQzZGFjNzZmYjhmNGRmYzA4YTEwZjEzMDBlODc0Li44MDU0NDlmN2Ix
NTdmMjEzNGE3MWQzZDk4YWYzOGU2OTkxZmY3NDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0dQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQ
UkluZm8uaApAQCAtNDEsNyArNDEsNyBAQCBlbnVtIE5vUmVzdWx0VGFnIHsgTm9SZXN1bHQgfTsK
IHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgR1BSUmVnOwogc3RhdGljIGNvbnN0
ZXhwciBHUFJSZWcgSW52YWxpZEdQUlJlZyB7IEdQUlJlZzo6SW52YWxpZEdQUlJlZyB9OwogCi0j
aWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaWYgVVNFKEpTVkFMVUU2
NCkKIGNsYXNzIEpTVmFsdWVSZWdzIHsKQEAgLTgxNiw3ICs4MTYsNyBAQCBpbmxpbmUgTm9SZXN1
bHRUYWcgZXh0cmFjdFJlc3VsdChOb1Jlc3VsdFRhZykgeyByZXR1cm4gTm9SZXN1bHQ7IH0KIC8v
IFdlIHVzZSB0aGlzIGhhY2sgdG8gZ2V0IHRoZSBHUFJJbmZvIGZyb20gdGhlIEdQUlJlZyB0eXBl
IGluIHRlbXBsYXRlcyBiZWNhdXNlIG91ciBjb2RlIGlzIGJhZCBhbmQgd2Ugc2hvdWxkIGZlZWwg
YmFkLi4KIGNvbnN0ZXhwciBHUFJJbmZvIHRvSW5mb0Zyb21SZWcoR1BSUmVnKSB7IHJldHVybiBH
UFJJbmZvKCk7IH0KIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFT
U0VNQkxFUikKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKQEAgLTgyNCw3ICs4MjQsNyBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0
LCBKU0M6OkdQUlJlZyByZWcpCiB7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1C
TEVSKQogICAgIG91dC5wcmludCgiJSIsIEpTQzo6R1BSSW5mbzo6ZGVidWdOYW1lKHJlZykpOwog
I2Vsc2UKICAgICBvdXQucHJpbnRmKCIlJXIlZCIsIHJlZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcAppbmRleCBlOGQwMTkxNmI5YzU5
MDQ3OTVjY2M1ZGI2YzRlNmNlODM2MTExMzAyLi4xMzc1YmI5MmNjMGRlYmJjYjdlYWVlMDI1OGRi
MTBmMmZiZDk1ODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RD
YWxsUmV0dXJuVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSG9zdENh
bGxSZXR1cm5WYWx1ZS5jcHAKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAKKyNpZiAhRU5BQkxFKENfTE9PUCkK
KwogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKQEAgLTM1LDcgKzM3LDEwOSBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotLy8gTm90aGluZyB0byBzZWUgaGVyZS4KKy8vIE5vdGU6IGdldEhvc3RDYWxsUmV0
dXJuVmFsdWVXaXRoRXhlY1N0YXRlKCkgbmVlZHMgdG8gYmUgcGxhY2VkIGJlZm9yZSB0aGUKKy8v
IGRlZmluaXRpb24gb2YgZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSgpIGJlbG93IGJlY2F1c2UgdGhl
IFdpbmRvd3MgYnVpbGQKKy8vIHJlcXVpcmVzIGl0LgorZXh0ZXJuICJDIiBFbmNvZGVkSlNWYWx1
ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0
aEV4ZWNTdGF0ZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgaWYgKCFleGVjKQorICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShleGVjLT52bSgpLmhvc3RDYWxsUmV0dXJuVmFsdWUpOworfQorCisjaWYgQ09NUElMRVIo
R0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2XzY0KQorYXNtICgKKyIuZ2xvYmwgIiBTWU1CT0xfU1RS
SU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxs
UmV0dXJuVmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkg
IjoiICJcbiIKKyAgICAibGVhIC04KCVyc3ApLCAlcmRpXG4iCisgICAgImptcCAiIExPQ0FMX1JF
RkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorKTsKKwor
I2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2KQorYXNtICgKKyIudGV4dCIg
IlxuIiBcCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
XG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitTWU1CT0xfU1RS
SU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCisgICAgInB1c2ggJWVicFxuIgor
ICAgICJtb3YgJWVzcCwgJWVheFxuIgorICAgICJsZWFsIC00KCVlc3ApLCAlZXNwXG4iCisgICAg
InB1c2ggJWVheFxuIgorICAgICJjYWxsICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCisgICAgImxlYWwgOCglZXNwKSwgJWVzcFxuIgor
ICAgICJwb3AgJWVicFxuIgorICAgICJyZXRcbiIKKyk7CisKKyNlbGlmIENPTVBJTEVSKEdDQ19P
Ul9DTEFORykgJiYgQ1BVKEFSTV9USFVNQjIpCithc20gKAorIi50ZXh0IiAiXG4iCisiLmFsaWdu
IDIiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUp
ICJcbiIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKKyIudGh1bWIi
ICJcbiIKKyIudGh1bWJfZnVuYyAiIFRIVU1CX0ZVTkNfUEFSQU0oZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSkgIlxuIgorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxu
IgorICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxpZiBDT01Q
SUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShBUk1fVFJBRElUSU9OQUwpCithc20gKAorIi50ZXh0
IiAiXG4iCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
XG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitJTkxJTkVfQVJN
X0ZVTkNUSU9OKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCitTWU1CT0xfU1RSSU5HKGdldEhvc3RD
YWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCisgICAgInN1YiByMCwgc3AsICM4IiAiXG4iCisgICAg
ImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUp
ICJcbiIKKyk7CisKKyNlbGlmIENQVShBUk02NCkKK2FzbSAoCisiLnRleHQiICJcbiIKKyIuYWxp
Z24gMiIgIlxuIgorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZSkgIlxuIgorSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorU1lNQk9M
X1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgorICAgICAic3ViIHgwLCBz
cCwgIzE2IiAiXG4iCisgICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpICYmIENQVShNSVBTKQorCisjaWYgV1RGX01JUFNfUElDCisjZGVmaW5lIExPQURfRlVOQ1RJ
T05fVE9fVDkoZnVuY3Rpb24pIFwKKyAgICAgICAgIi5zZXQgbm9yZW9yZGVyIiAiXG4iIFwKKyAg
ICAgICAgIi5jcGxvYWQgJDI1IiAiXG4iIFwKKyAgICAgICAgIi5zZXQgcmVvcmRlciIgIlxuIiBc
CisgICAgICAgICJsYSAkdDksICIgTE9DQUxfUkVGRVJFTkNFKGZ1bmN0aW9uKSAiXG4iCisjZWxz
ZQorI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0aW9uKSAiIiAiXG4iCisjZW5kaWYK
KworYXNtICgKKyIudGV4dCIgIlxuIgorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZSkgIlxuIgorSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkg
IlxuIgorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgorICAg
IExPQURfRlVOQ1RJT05fVE9fVDkoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUp
CisgICAgImFkZGkgJGEwLCAkc3AsIC04IiAiXG4iCisgICAgImIgIiBMT0NBTF9SRUZFUkVOQ0Uo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKKyk7CisKKyNlbGlmIENP
TVBJTEVSKE1TVkMpICYmIENQVShYODYpCitleHRlcm4gIkMiIHsKKyAgICBfX2RlY2xzcGVjKG5h
a2VkKSBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKCkKKyAgICB7CisgICAgICAgIF9fYXNtIGxlYSBlYXgsIFtlc3AgLSA0
XQorICAgICAgICBfX2FzbSBtb3YgW2VzcCArIDRdLCBlYXg7CisgICAgICAgIF9fYXNtIGptcCBn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZQorICAgIH0KK30KKyNlbmRpZgogCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuaAppbmRleCA2MmViMmE1
NjZiOTgxMDIwMjc3MjNhMjcyNmFlZjQ3MjZhZWJkNmNlLi5kMjExZDE0ZDg2OTRjZTA1ZDk4YjRk
MzYwMzRjZGM2ZmI5MTI0NzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0hvc3RDYWxsUmV0dXJuVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hv
c3RDYWxsUmV0dXJuVmFsdWUuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAiSlNDSlNW
YWx1ZS5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIAogI2lmIENB
TExJTkdfQ09OVkVOVElPTl9JU19TVERDQUxMCiAjZGVmaW5lIEhPU1RfQ0FMTF9SRVRVUk5fVkFM
VUVfT1BUSU9OIENERUNMCkBAIC01Nyw0ICs1Nyw0IEBAIGlubGluZSB2b2lkIGluaXRpYWxpemVI
b3N0Q2FsbFJldHVyblZhbHVlKCkgeyB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYg
Ly8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyAhRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IGIyZWI0MThjZmY4OWQ1MjMwMjJh
NjFhZGIwYjhiZTRmNjg4MDJlNjIuLjdhYWNmNmIxYzE2ZjkyMTVhMmQ4NjU4NjZmM2QyYzNhODkx
ZDRlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApA
QCAtMjkwOCwxMDkgKzI5MDgsNiBAQCBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2hl
Y2tJZkV4Y2VwdGlvbklzVW5jYXRjaGFibGVBbmROb3RpZnlQcm9maWxlcihFeAogCiB9IC8vIGV4
dGVybiAiQyIKIAotLy8gTm90ZTogZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUo
KSBuZWVkcyB0byBiZSBwbGFjZWQgYmVmb3JlIHRoZQotLy8gZGVmaW5pdGlvbiBvZiBnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKCkgYmVsb3cgYmVjYXVzZSB0aGUgV2luZG93cyBidWlsZAotLy8gcmVx
dWlyZXMgaXQuCi1leHRlcm4gIkMiIEVuY29kZWRKU1ZhbHVlIEhPU1RfQ0FMTF9SRVRVUk5fVkFM
VUVfT1BUSU9OIGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKEV4ZWNTdGF0ZSog
ZXhlYykKLXsKLSAgICBpZiAoIWV4ZWMpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
SlNWYWx1ZSgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGV4ZWMtPnZtKCkuaG9zdENh
bGxSZXR1cm5WYWx1ZSk7Ci19Ci0KLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShY
ODZfNjQpCi1hc20gKAotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lN
Qk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAgICJsZWEgLTgo
JXJzcCksICVyZGlcbiIKLSAgICAiam1wICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0pOwotCi0jZWxpZiBDT01QSUxFUihHQ0NfT1Jf
Q0xBTkcpICYmIENQVShYODYpCi1hc20gKAotIi50ZXh0IiAiXG4iIFwKLSIuZ2xvYmwgIiBTWU1C
T0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLVNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSkgIjoiICJcbiIKLSAgICAicHVzaCAlZWJwXG4iCi0gICAgIm1vdiAlZXNwLCAlZWF4XG4i
Ci0gICAgImxlYWwgLTQoJWVzcCksICVlc3BcbiIKLSAgICAicHVzaCAlZWF4XG4iCi0gICAgImNh
bGwgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUp
ICJcbiIKLSAgICAibGVhbCA4KCVlc3ApLCAlZXNwXG4iCi0gICAgInBvcCAlZWJwXG4iCi0gICAg
InJldFxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNX1RI
VU1CMikKLWFzbSAoCi0iLnRleHQiICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotIi5nbG9ibCAiIFNZ
TUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0
SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotIi50aHVtYiIgIlxuIgotIi50aHVtYl9mdW5jICIg
VEhVTUJfRlVOQ19QQVJBTShnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1TWU1CT0xfU1RS
SU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgInN1YiByMCwgc3AsICM4
IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
dGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYg
Q1BVKEFSTV9UUkFESVRJT05BTCkKLWFzbSAoCi0iLnRleHQiICJcbiIKLSIuZ2xvYmwgIiBTWU1C
T0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUlOTElORV9BUk1fRlVOQ1RJT04oZ2V0SG9zdENhbGxS
ZXR1cm5WYWx1ZSkKLVNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJc
biIKLSAgICAic3ViIHIwLCBzcCwgIzgiICJcbiIKLSAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgotKTsKLQotI2VsaWYgQ1BV
KEFSTTY0KQotYXNtICgKLSIudGV4dCIgIlxuIgotIi5hbGlnbiAyIiAiXG4iCi0iLmdsb2JsICIg
U1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1TWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgICJzdWIgeDAsIHNwLCAjMTYiICJcbiIKLSAgICAgImIg
IiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJc
biIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKE1JUFMpCi0KLSNp
ZiBXVEZfTUlQU19QSUMKLSNkZWZpbmUgTE9BRF9GVU5DVElPTl9UT19UOShmdW5jdGlvbikgXAot
ICAgICAgICAiLnNldCBub3Jlb3JkZXIiICJcbiIgXAotICAgICAgICAiLmNwbG9hZCAkMjUiICJc
biIgXAotICAgICAgICAiLnNldCByZW9yZGVyIiAiXG4iIFwKLSAgICAgICAgImxhICR0OSwgIiBM
T0NBTF9SRUZFUkVOQ0UoZnVuY3Rpb24pICJcbiIKLSNlbHNlCi0jZGVmaW5lIExPQURfRlVOQ1RJ
T05fVE9fVDkoZnVuY3Rpb24pICIiICJcbiIKLSNlbmRpZgotCi1hc20gKAotIi50ZXh0IiAiXG4i
Ci0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1I
SURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1TWU1CT0xfU1RSSU5HKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgTE9BRF9GVU5DVElPTl9UT19UOShn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkKLSAgICAiYWRkaSAkYTAsICRzcCwg
LTgiICJcbiIKLSAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVl
V2l0aEV4ZWNTdGF0ZSkgIlxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoTVNWQykgJiYgQ1BVKFg4
NikKLWV4dGVybiAiQyIgewotICAgIF9fZGVjbHNwZWMobmFrZWQpIEVuY29kZWRKU1ZhbHVlIEhP
U1RfQ0FMTF9SRVRVUk5fVkFMVUVfT1BUSU9OIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUoKQotICAg
IHsKLSAgICAgICAgX19hc20gbGVhIGVheCwgW2VzcCAtIDRdCi0gICAgICAgIF9fYXNtIG1vdiBb
ZXNwICsgNF0sIGVheDsKLSAgICAgICAgX19hc20gam1wIGdldEhvc3RDYWxsUmV0dXJuVmFsdWVX
aXRoRXhlY1N0YXRlCi0gICAgfQotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAj
ZW5kaWYgLy8gRU5BQkxFKEpJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9uc01TVkM2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnNNU1ZDNjQuY3BwCmluZGV4IDU0NGJjYTM5NDZjMTk0NWVjMDAzYjJjMGQ1MzFl
NjA3NWU5MjNjODQuLjBhMzdiZjc2YzFmMjZlOTMwYmI4ZjY2ZmYxZmZlNGU1OGM4NjYyM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9uc01TVkM2NC5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zTVNWQzY0LmNw
cApAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiAhRU5BQkxF
KEpJVCkgJiYgQ09NUElMRVIoTVNWQykgJiYgQ1BVKFg4Nl82NCkKKyNpZiBFTkFCTEUoQ19MT09Q
KSAmJiBDT01QSUxFUihNU1ZDKSAmJiBDUFUoWDg2XzY0KQogCiAjaW5jbHVkZSAiQ2FsbEZyYW1l
LmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtNDMsNCArNDMsNCBAQCBleHRlcm4gIkMi
IEVuY29kZWRKU1ZhbHVlIGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKEV4ZWNT
dGF0ZSopCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gIUVOQUJMRShKSVQpICYm
IENPTVBJTEVSKE1TVkMpICYmIENQVShYODZfNjQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkg
JiYgQ09NUElMRVIoTVNWQykgJiYgQ1BVKFg4Nl82NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVnLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmNw
cAppbmRleCA0YWE5NjUzNzQ3NDE4NGIxMTM0MDFhZTBjY2Q5NDgxZTIyNzUxMDRiLi4zY2M0OWMw
M2Q4Njg4OWQ0YzRjZGEwZTdlMzdlMmI5YWEyNDAxYmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWcuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
UmVnLmgiCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNs
dWRlICJGUFJJbmZvLmgiCiAjaW5jbHVkZSAiR1BSSW5mby5oIgpAQCAtNTQsNSArNTQsNSBAQCB2
b2lkIFJlZzo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWcuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKaW5kZXggODRhZTM1OTA0NzY4Y2ZhMWZlMGQyN2FjNWVl
NTYwNjUzZDc4OGIwNy4uOWQyNDZhZGU1YmM3MTA1MDBiN2Y3MTczOTZkMTIxN2IzZWQyMGY1YiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWcuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZy5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAi
TWFjcm9Bc3NlbWJsZXIuaCIKIApAQCAtMjQ1LDQgKzI0NSw0IEBAIHRlbXBsYXRlPD4gc3RydWN0
IEhhc2hUcmFpdHM8SlNDOjpSZWc+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6UmVnPiB7
CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAv
LyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3RlckF0T2Zmc2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0
ZXJBdE9mZnNldC5jcHAKaW5kZXggMTZhNjM5Y2E4Yzc5NjI2MGVmMzU3NjA1NjE5NDc3NTllMWVl
MjU4ZS4uMGU0NGUyZGIxMWU4MDVkMDQzZTMwZGNmMTQyODk1ZWEwYzhhNWQ3NSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuY3BwCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldC5o
IgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiBuYW1lc3BhY2Ug
SlNDIHsKIApAQCAtNDEsNSArNDEsNSBAQCB2b2lkIFJlZ2lzdGVyQXRPZmZzZXQ6OmR1bXAoUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmgKaW5kZXggMGRiOGRhNGE3MjYxYjhiOGI3
MDBjMTAzZmIzNTJiOGU1YWUyYjJmMy4uY2Q0MTViNmQ2NjlmOTM5ZmYxZDM1Y2YzMWM3Y2Q3YjRh
MjBlOTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0
T2Zmc2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0
LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoSklUKQor
I2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNsdWRlICJSZWcuaCIKICNpbmNsdWRlIDx3dGYv
UHJpbnRTdHJlYW0uaD4KQEAgLTc0LDQgKzc0LDQgQEAgY2xhc3MgUmVnaXN0ZXJBdE9mZnNldCB7
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAv
LyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
Z2lzdGVyQXRPZmZzZXRMaXN0LmNwcAppbmRleCBkZDViNWIzMmYzN2FkMGRkYmEzYzczYmE1OGE1
MDc2ZDNlMjk5NDQ4Li42ZmUwNmU3NzYyYjRhNDc5ZGQwNTE0Njg2MGFhZTliNGRkMWEzZmJkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0
LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJl
Z2lzdGVyQXRPZmZzZXRMaXN0LmgiCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NF
TUJMRVIpCiAKICNpbmNsdWRlIDx3dGYvTGlzdER1bXAuaD4KIApAQCAtNjgsNSArNjgsNSBAQCB1
bnNpZ25lZCBSZWdpc3RlckF0T2Zmc2V0TGlzdDo6aW5kZXhPZihSZWcgcmVnKSBjb25zdAogCiB9
IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5B
QkxFKEFTU0VNQkxFUikKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlckF0T2Zmc2V0TGlzdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3Rl
ckF0T2Zmc2V0TGlzdC5oCmluZGV4IGUwYjI1NDFhYjhkYzkyM2ZmNzFlZDQ4ODc2NDUwNjA3NWMz
YjllM2MuLjVlM2EzY2IyY2UwMjkzNDExOTU3ZjY4OTkzMzlkNjc3ZjRhOWY0NTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmgKQEAgLTI1
LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJM
RShBU1NFTUJMRVIpCiAKICNpbmNsdWRlICJSZWdpc3RlckF0T2Zmc2V0LmgiCiAjaW5jbHVkZSAi
UmVnaXN0ZXJTZXQuaCIKQEAgLTY5LDQgKzY5LDQgQEAgY2xhc3MgUmVnaXN0ZXJBdE9mZnNldExp
c3QgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5k
aWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvUmVnaXN0ZXJNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJN
YXAuaAppbmRleCAwZjNmOTU3NGYxZjk1ZTZlMDJmOGJhNDcxNDEwM2Y4ZGIxODJkZDViLi41YTc3
OTc3Y2FhOTEyYTA5NWVkYjY4YzcwMjQ1NGQ5YWYxOGJhMDJkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWdpc3Rlck1hcC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiRlBS
SW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKQEAgLTEwNyw0ICsxMDcsNCBAQCBjbGFzcyBG
UFJNYXAgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdp
c3RlclNldC5jcHAKaW5kZXggODUyNTZmN2IxNDYyNTk5YWVhZWM2N2Q5ZTA3ODQyZGU0YzYxNWMx
OC4uYTYwMjE0MWFhODY2MWRkYWJlOTAxYjJmNDI0NDljZWQzOWZlZTU2MSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZWdpc3RlclNldC5oIgogCi0jaWYgRU5BQkxFKEpJ
VCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiR1BSSW5mby5oIgogI2luY2x1
ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTM5NSw1ICszOTUsNSBAQCB2b2lkIFJlZ2lzdGVyU2V0Ojpk
dW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5k
aWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKaW5kZXggYzg3ZWFmOGMzYjUzYmNjOGYzMGMx
Y2FlODk3ODYwM2Q0ZGMwZGMyNS4uYTYxODg1MjllZGQwY2U1MWZmZWQxMWE2MjBiMzhjMDdlNGUw
MTE4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaApAQCAtMjUsNyAr
MjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShD
X0xPT1ApCiAKICNpbmNsdWRlICJHUFJJbmZvLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXIu
aCIKQEAgLTI0Niw0ICsyNDYsNCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6
UmVnaXN0ZXJTZXQ+IDogcHVibGljIEN1c3RvbUhhc2hUcmFpdHM8SlNDOjpSZQogCiB9IC8vIG5h
bWVzcGFjZSBXVEYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIUVOQUJMRShD
X0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3Rl
clNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5jcHAK
aW5kZXggOWMyZTczZDQzMmI2Y2E2ZGJhYTU2YmIwNWU4YTliN2YyODQ4MmZkNS4uM2YzNTIxZWEy
NjE1NmE3ZDBjMWI0YzJmY2M1YmMwYmFmZjM0MDZmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmNwcApAQCAtMjYsOSArMjYsOCBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlRlbXBSZWdpc3RlclNldC5oIgogCi0jaWYgRU5BQkxFKEpJ
VCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCi0jaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2lu
Y2x1ZGUgIlJlZ2lzdGVyU2V0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNTEsNCArNTAsNCBA
QCBUZW1wUmVnaXN0ZXJTZXQ6OlRlbXBSZWdpc3RlclNldChjb25zdCBSZWdpc3RlclNldCYgb3Ro
ZXIpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRp
ZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9UZW1wUmVnaXN0ZXJTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVtcFJl
Z2lzdGVyU2V0LmgKaW5kZXggOTk4MzIyOWVmYWZjNDNmZTkxNzI1NmM4N2RkY2VlOWIwODI1ZmRm
NS4uNjYzODNmNTlmODg1NjJhYmNiYjBmOTU2OWE0MTUzMDAzZDgxYjcxYiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5oCkBAIC0yNSw3ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQog
CiAjaW5jbHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKQEAgLTIwNSw3ICsy
MDUsNyBAQCBjbGFzcyBUZW1wUmVnaXN0ZXJTZXQgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAot
I2Vsc2UgLy8gRU5BQkxFKEpJVCkgLT4gc28gaWYgSklUIGlzIGRpc2FibGVkCisjZWxzZSAvLyBF
TkFCTEUoQVNTRU1CTEVSKSAtPiBzbyBpZiBKSVQgaXMgZGlzYWJsZWQKIAogbmFtZXNwYWNlIEpT
QyB7CiAKQEAgLTIxNiw0ICsyMTYsNCBAQCBzdHJ1Y3QgVGVtcFJlZ2lzdGVyU2V0IHsgfTsKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVO
QUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRDTG9vcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRDTG9vcC5j
cHAKaW5kZXggZTNjNmM2Y2U5N2U1ZmRhNzA4OTg5Yjc4MWVkMzc2MjVmMDk3YmNjOS4uYzg0YjE4
OWNmMmNkZjhkNGQ1MjEwMTJmMTE0NmI5OTg4ZjRlZmQzZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludENMb29wLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkxMSW50Q0xvb3AuaCIKIAotI2lmICFFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJMTEludERhdGEuaCIKIApAQCAtNDEsNCArNDEs
NCBAQCB2b2lkIENMb29wOjppbml0aWFsaXplKCkKIH0gLy8gbmFtZXNwYWNlIExMSW50CiB9IC8v
IG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJM
RShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRD
TG9vcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuaAppbmRleCBh
MzE1OTE0NTUxZmIwZDhjYzYxMmJlY2RkYzQ4ZjlmY2NhY2MwNWUyLi4wMmIyZjI0ZGNiMDFjN2Vm
OWRkYzUwMTY4NDU0ZmNlOGU5MjhhZTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRDTG9vcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludENMb29wLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiAhRU5B
QkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgog
I2luY2x1ZGUgIk9wY29kZS5oIgpAQCAtNDQsNCArNDQsNCBAQCBjbGFzcyBDTG9vcCB7CiAKIHVz
aW5nIEpTQzo6TExJbnQ6OkNMb29wOwogCi0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYg
Ly8gRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludERhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5j
cHAKaW5kZXggNDFmNjRiNGFmYTMxZTgxOWNmNTRiOWZiY2Q4MDgzZjVhMzEzNmU2Zi4uMGRkMDQ1
NDMzNDc5NzdjNTY3M2JmZWViZGUzOGI4YzUyMWQyN2Q2OSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50RGF0YS5jcHAKQEAgLTQ2LDE2ICs0NiwxNiBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIExMSW50IHsKIEluc3RydWN0aW9uIERhdGE6OnNfZXhjZXB0aW9uSW5zdHJ1
Y3Rpb25zW21heE9wY29kZUxlbmd0aCArIDFdID0geyB9OwogT3Bjb2RlIERhdGE6OnNfb3Bjb2Rl
TWFwW251bU9wY29kZUlEc10gPSB7IH07CiAKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUo
Q19MT09QKQogZXh0ZXJuICJDIiB2b2lkIGxsaW50X2VudHJ5KHZvaWQqKTsKICNlbmRpZgogCiB2
b2lkIGluaXRpYWxpemUoKQogewotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1Ap
CiAgICAgQ0xvb3A6OmluaXRpYWxpemUoKTsKIAotI2Vsc2UgLy8gRU5BQkxFKEpJVCkKKyNlbHNl
IC8vICFFTkFCTEUoQ19MT09QKQogICAgIGxsaW50X2VudHJ5KCZEYXRhOjpzX29wY29kZU1hcCk7
CiAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bU9wY29kZUlEczsgKytpKQpAQCAtNjQsNyAr
NjQsNyBAQCB2b2lkIGluaXRpYWxpemUoKQogICAgIHZvaWQqIGhhbmRsZXIgPSBEYXRhOjpzX29w
Y29kZU1hcFtsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lXTsKICAgICBmb3Ig
KGludCBpID0gMDsgaSA8IG1heE9wY29kZUxlbmd0aCArIDE7ICsraSkKICAgICAgICAgRGF0YTo6
c19leGNlcHRpb25JbnN0cnVjdGlvbnNbaV0udS5wb2ludGVyID0gaGFuZGxlcjsKLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCiB9CiAKIElHTk9SRV9DTEFO
R19XQVJOSU5HU19CRUdJTigibWlzc2luZy1ub3JldHVybiIpCkBAIC0xMjUsNyArMTI1LDcgQEAg
dm9pZCBEYXRhOjpwZXJmb3JtQXNzZXJ0aW9ucyhWTSYgdm0pCiAgICAgU1RBVElDX0FTU0VSVChW
YWx1ZVVuZGVmaW5lZCA9PSAoVGFnQml0VHlwZU90aGVyIHwgVGFnQml0VW5kZWZpbmVkKSk7CiAg
ICAgU1RBVElDX0FTU0VSVChWYWx1ZU51bGwgPT0gVGFnQml0VHlwZU90aGVyKTsKICNlbmRpZgot
I2lmIChDUFUoWDg2XzY0KSAmJiAhT1MoV0lORE9XUykpIHx8IENQVShBUk02NCkgfHwgIUVOQUJM
RShKSVQpCisjaWYgKENQVShYODZfNjQpICYmICFPUyhXSU5ET1dTKSkgfHwgQ1BVKEFSTTY0KSB8
fCAhRU5BQkxFKEFTU0VNQkxFUikKICAgICBTVEFUSUNfQVNTRVJUKCFtYXhGcmFtZUV4dGVudEZv
clNsb3dQYXRoQ2FsbCk7CiAjZWxpZiBDUFUoQVJNKQogICAgIFNUQVRJQ19BU1NFUlQobWF4RnJh
bWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPT0gMjQpOwpAQCAtMTM1LDcgKzEzNSw3IEBAIHZvaWQg
RGF0YTo6cGVyZm9ybUFzc2VydGlvbnMoVk0mIHZtKQogICAgIFNUQVRJQ19BU1NFUlQobWF4RnJh
bWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPT0gNjQpOwogI2VuZGlmCiAKLSNpZiAhRU5BQkxFKEpJ
VCkgfHwgVVNFKEpTVkFMVUUzMl82NCkKKyNpZiBFTkFCTEUoQ19MT09QKSB8fCBVU0UoSlNWQUxV
RTMyXzY0KQogICAgIEFTU0VSVCghQ29kZUJsb2NrOjpsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVNw
YWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKCkpOwogI2VsaWYgKENQVShYODZfNjQpICYmICFPUyhXSU5E
T1dTKSkgIHx8IENQVShBUk02NCkKICAgICBBU1NFUlQoQ29kZUJsb2NrOjpsbGludEJhc2VsaW5l
Q2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKCkgPT0gMyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnREYXRhLmgKaW5kZXggYmU1OGMwMGFlNWM2NmFjMzA1ODFhZTNkNDg0
OTQyOGU1YmIzMDFkMC4uOWNhNTcxNTI3YzBjYjI0MjQwZTdiNjc2OWQ3YmM3Yzk0ZDkwNzUwMCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuaApAQCAtMzQsNyArMzQsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIFZNOwogc3RydWN0IEluc3RydWN0aW9uOwogCi0jaWYg
IUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIHR5cGVkZWYgT3Bjb2RlSUQgTExJbnRD
b2RlOwogI2Vsc2UKIHR5cGVkZWYgdm9pZCAoKkxMSW50Q29kZSkoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAppbmRleCBhNjQz
N2Q0MDNhNDBhOTkxZjk1NThlNmUzZjQwNzkzYzdkZWM3OTIzLi5iYTZkNTE2ZDVmM2Y4MWEwNzM3
Yjk2MjI2OWVjMzZiMDcyOWZjMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCkBAIC0zMCw3ICszMCw3IEBACiAjaW5jbHVk
ZSA8d3RmL0dpZ2FjYWdlLmg+CiAjaW5jbHVkZSA8d3RmL1BvaXNvbmVkLmg+CiAKLSNpZiAhRU5B
QkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogI2RlZmluZSBPRkZMSU5FX0FTTV9DX0xPT1Ag
MQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODYgMAogI2RlZmluZSBPRkZMSU5FX0FTTV9YODZfV0lO
IDAKQEAgLTQ1LDcgKzQ1LDcgQEAKICNkZWZpbmUgT0ZGTElORV9BU01fQVJNdjdzIDAKICNkZWZp
bmUgT0ZGTElORV9BU01fTUlQUyAwCiAKLSNlbHNlIC8vIEVOQUJMRShKSVQpCisjZWxzZSAvLyBF
TkFCTEUoQ19MT09QKQogCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0NfTE9PUCAwCiAKQEAgLTEzNyw3
ICsxMzcsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5k
aWYgLy8gRU5BQkxFKENfTE9PUCkKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiAjZGVmaW5lIE9GRkxJ
TkVfQVNNX0pTVkFMVUU2NCAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRPcGNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9wY29k
ZS5oCmluZGV4IDg1OTA1ZTM3MDQzODIzNzgzYmRmN2JmZWMxNDU2N2QxNDExNWMxODUuLjZkNzIz
NjliZjFjMmMzNDc2OGQ4Yjk3NmNlNmMzZGM4NmNmZjE3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludE9wY29kZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2RlZmluZSBGT1Jf
RUFDSF9MTElOVF9OT0pJVF9OQVRJVkVfSEVMUEVSKG1hY3JvKSBcCiAgICAgRk9SX0VBQ0hfQ0xP
T1BfQllURUNPREVfSEVMUEVSX0lEKG1hY3JvKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50UENSYW5nZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFBDUmFuZ2VzLmgKaW5kZXggOTQyMTg1ZTgyNDQ2ZTljMjdjOGY1ZmYxNDNlZWE2MDg1
NTE5YWE2My4uODJiZGM1NTliOGFiMzhmN2U4NTI5NjJmNzI5YjlkOWQ5Y2U3Mzc1OSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50UENSYW5nZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRQQ1Jhbmdlcy5oCkBAIC00Niw3ICs0Niw3
IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBpc0xMSW50UEModm9pZCogcGMpCiAgICAgcmV0dXJuIGxs
aW50U3RhcnQgPD0gcGNBc0ludCAmJiBwY0FzSW50IDw9IGxsaW50RW5kOwogfQogCi0jaWYgRU5B
QkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIHN0YXRpYyBjb25zdCBHUFJSZWcgTExJbnRQ
QyA9IEdQUkluZm86OnJlZ1Q0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IDNjNWY5YTI5NDJiMzAwM2ZlNDIxMzhmN2U0
ZGRjM2VhMGRlZWI3YzQuLmMxYzJjNjc0NmFlM2E1NTdmY2EzZTRkZDdmOWRhNGRlN2EyMzkzZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApA
QCAtNTM2LDcgKzUzNiw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHN0YWNrX2NoZWNrKQogICAg
ICAgICBzbG93UGF0aExvZ0YoIk51bSB2YXJzID0gJXUuXG4iLCBjb2RlQmxvY2stPm51bVZhcnMo
KSk7CiAgICAgfQogICAgIHNsb3dQYXRoTG9nRigiQ3VycmVudCBPUyBzdGFjayBlbmQgaXMgYXQg
JXAuXG4iLCB2bS5zb2Z0U3RhY2tMaW1pdCgpKTsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFC
TEUoQ19MT09QKQogICAgIHNsb3dQYXRoTG9nRigiQ3VycmVudCBDIExvb3Agc3RhY2sgZW5kIGlz
IGF0ICVwLlxuIiwgdm0uY2xvb3BTdGFja0xpbWl0KCkpOwogI2VuZGlmCiAKQEAgLTU0Nyw3ICs1
NDcsNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzdGFja19jaGVjaykKICAgICAvLyBGb3IgSklU
IGVuYWJsZWQgYnVpbGRzIHdoaWNoIHVzZXMgdGhlIEMgc3RhY2ssIHRoZSBzdGFjayBpcyBub3Qg
Z3Jvd2FibGUuCiAgICAgLy8gSGVuY2UsIGlmIHdlIGdldCBoZXJlLCB0aGVuIHdlIGtub3cgYSBz
dGFjayBvdmVyZmxvdyBpcyBpbW1pbmVudC4gU28sIGp1c3QKICAgICAvLyB0aHJvdyB0aGUgU3Rh
Y2tPdmVyZmxvd0Vycm9yIHVuY29uZGl0aW9uYWxseS4KLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBF
TkFCTEUoQ19MT09QKQogICAgIFJlZ2lzdGVyKiB0b3BPZkZyYW1lID0gZXhlYy0+dG9wT2ZGcmFt
ZSgpOwogICAgIGlmIChMSUtFTFkodG9wT2ZGcmFtZSA8IHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0
ZXIqPihleGVjKSkpIHsKICAgICAgICAgQVNTRVJUKCF2bS5pbnRlcnByZXRlci0+Y2xvb3BTdGFj
aygpLmNvbnRhaW5zQWRkcmVzcyh0b3BPZkZyYW1lKSk7CkBAIC0xODYxLDcgKzE4NjEsNyBAQCBl
eHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19zdGFja19vdmVyZmxvd19l
cnJvcihWTSogdm0sIFByb3RvQ2FsbAogICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiB9
CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogZXh0ZXJuICJDIiBTbG93
UGF0aFJldHVyblR5cGUgbGxpbnRfc3RhY2tfY2hlY2tfYXRfdm1fZW50cnkoVk0qIHZtLCBSZWdp
c3RlciogbmV3VG9wT2ZTdGFjaykKIHsKICAgICBib29sIHN1Y2Nlc3MgPSB2bS0+ZW5zdXJlU3Rh
Y2tDYXBhY2l0eUZvcihuZXdUb3BPZlN0YWNrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggN2NmZWNhN2E4MTZkMWRjNTMwYTM0N2U4NmZiOWQ1
ZmQzNjBiY2I4MC4uOWZlMWFjNWI5ZDAzOWVkN2MzYTRmYjA3NDllOTY0NWFkYWQyNGEyMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTEzMiw3
ICsxMzIsNyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2xvZ19zaGFk
b3dfY2hpY2tlbl90YWlsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
c3VwZXJfc2FtcGxlcl9iZWdpbik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX3N1cGVyX3NhbXBsZXJfZW5kKTsKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxs
aW50X3Rocm93X3N0YWNrX292ZXJmbG93X2Vycm9yKFZNKiwgUHJvdG9DYWxsRnJhbWUqKSBXVEZf
SU5URVJOQUw7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIGV4dGVybiAi
QyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2NoZWNrX2F0X3ZtX2VudHJ5KFZNKiwg
UmVnaXN0ZXIqKSBXVEZfSU5URVJOQUw7CiAjZW5kaWYKIGV4dGVybiAiQyIgTk9fUkVUVVJOX0RV
RV9UT19DUkFTSCB2b2lkIGxsaW50X2NyYXNoKCkgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKaW5kZXggMjQ0NmJkYmZlNzZjZjk2Mjk0
MDI1ZGM2NTc1N2RhMGU0OTkzMGU4YS4uNWMxOTRjZjU0ZDJlZjMwMjBlMjEzMzAyODlkOWZmNWMw
OTg2MTcxMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1
bmtzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3MuY3Bw
CkBAIC05OCw4ICs5OCw5IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRhZz4g
bW9kdWxlUHJvZ3JhbUVudHJ5VGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogCiB9IC8vIG5hbWVzcGFj
ZSBMTEludAogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ19M
T09QKQogLy8gTm9uLUpJVCAoaS5lLiBDIExvb3AgTExJTlQpIGNhc2U6CiAKIEVuY29kZWRKU1Zh
bHVlIHZtRW50cnlUb0phdmFTY3JpcHQodm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFZNKiB2bSwg
UHJvdG9DYWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lKQpAQCAtMTIyLDcgKzEyMyw2IEBAIGV4dGVy
biAiQyIgVk1FbnRyeVJlY29yZCogdm1FbnRyeVJlY29yZChFbnRyeUZyYW1lKiBlbnRyeUZyYW1l
KQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFZNRW50cnlSZWNvcmQqPihyZWludGVycHJl
dF9jYXN0PGNoYXIqPihlbnRyeUZyYW1lKSAtIFZNRW50cnlUb3RhbEZyYW1lU2l6ZSk7CiB9CiAK
LQotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKIAogfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5jcHAKaW5kZXggNzhiZmYwODg0YzQ4MDI5MzlhNGRlODYwZjc2YjU4
MmVhYTlhNDI2NS4uNDdiZWEyZGY1NWU2NWQ0Y2NjZjdmMGQ3ZTU2MDkwMzE1MGI5NWNiZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmNwcApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkxMSW50T2ZmbGluZUFzbUNvbmZpZy5o
IgogI2luY2x1ZGUgPHd0Zi9JbmxpbmVBU00uaD4KIAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVO
QUJMRShDX0xPT1ApCiAjaW5jbHVkZSAiQnl0ZWNvZGVzLmgiCiAjaW5jbHVkZSAiQ0xvb3BTdGFj
a0lubGluZXMuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKQEAgLTU1OSw0ICs1NTksNCBAQCBK
U1ZhbHVlIENMb29wOjpleGVjdXRlKE9wY29kZUlEIGVudHJ5T3Bjb2RlSUQsIHZvaWQqIGV4ZWN1
dGFibGVBZGRyZXNzLCBWTSogdm0sCiAvLyBmb3IgdGhlIGludGVycHJldGVyLCBhcyBjb21waWxl
ZCBmcm9tIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtLgogI2luY2x1ZGUgIkxMSW50QXNzZW1ibHku
aCIKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5oCmlu
ZGV4IDgzMDA4ZTEyMjViZjUzZGNmY2ZmZGRhMDM4NWQ2Zjc2YWU5NjI3MzAuLmU0YzkwNzQzYWNm
Mzk0OTBhODM1MTc3NDFiM2VjOTVjZjlkMzZiMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaApAQCAtMjcsNyArMjcsNyBAQAogCiAj
aW5jbHVkZSAiT3Bjb2RlLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09Q
KQogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDQsNCArNDQsNCBAQCBGT1JfRUFDSF9DT1JFX09Q
Q09ERV9JRChMTElOVF9PUENPREVfQUxJQVMpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5k
aWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAppbmRleCA1NDQyMjc3Njk5YmVmMjU2YzRi
YTYyMzQ2YzlhZmIzMDVmODVlZDM4Li5mN2U2NTc1NWVkODE4ZDViZjZkZjZlMWNjMTkyYTI4ZmNh
MzdhOTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1Zh
bHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCkBA
IC01OSw3ICs1OSw3IEBAIGNsYXNzIE9TUkV4aXRDb21waWxlcjsKIGNsYXNzIFNwZWN1bGF0aXZl
SklUOwogfQogI2VuZGlmCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIG5h
bWVzcGFjZSBMTEludCB7CiBjbGFzcyBDTG9vcDsKIH0KQEAgLTE0Nyw3ICsxNDcsNyBAQCBjbGFz
cyBKU1ZhbHVlIHsKICAgICBmcmllbmQgY2xhc3MgREZHOjpPU1JFeGl0Q29tcGlsZXI7CiAgICAg
ZnJpZW5kIGNsYXNzIERGRzo6U3BlY3VsYXRpdmVKSVQ7CiAjZW5kaWYKLSNpZiAhRU5BQkxFKEpJ
VCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIGZyaWVuZCBjbGFzcyBMTEludDo6Q0xvb3A7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGlu
ZUNvbnRleHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0
LmgKaW5kZXggODM2ZDc1NTY4OGIxNzJmYzEyZjhjNzk0ODJiMGE2MDU4NTMwNWM3OS4uNDZmMTU1
NDUxZDA2NTFiOGIxZmNjYmQyNWY2MmRiOTEwMjlmZTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCkBAIC01MCwxMCArNTAsMTAgQEAgaW5s
aW5lIHZvaWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJiwgTWFjcm9B
c3NlbWJsZXJDb2RlUHRyPENGdW4KIAogdGVtcGxhdGU8c2l6ZV90IE4+IHZvaWQqJiBhcmd1bWVu
dFBvaW50ZXIoUGxhdGZvcm1SZWdpc3RlcnMmKTsKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiBh
cmd1bWVudFBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmKTsKLSNpZiBFTkFCTEUoSklU
KQorI2lmICFFTkFCTEUoQ19MT09QKQogdm9pZComIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKFBs
YXRmb3JtUmVnaXN0ZXJzJik7CiB2b2lkKiBsbGludEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBQ
bGF0Zm9ybVJlZ2lzdGVycyYpOwotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIUVO
QUJMRShDX0xPT1ApCiAKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIApAQCAtNzIsMTAgKzcy
LDEwIEBAIGlubGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiwgTWFj
cm9Bc3NlbWJsZXJDb2RlUHRyPENGdW5jdGlvblB0CiAKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lk
KiYgYXJndW1lbnRQb2ludGVyKG1jb250ZXh0X3QmKTsKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lk
KiBhcmd1bWVudFBvaW50ZXIoY29uc3QgbWNvbnRleHRfdCYpOwotI2lmIEVOQUJMRShKSVQpCisj
aWYgIUVOQUJMRShDX0xPT1ApCiB2b2lkKiYgbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRl
eHRfdCYpOwogdm9pZCogbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgbWNvbnRleHRfdCYp
OwotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApCiAjZW5k
aWYgLy8gSEFWRShNQUNISU5FX0NPTlRFWFQpCiAjZW5kaWYgLy8gT1MoV0lORE9XUykgfHwgSEFW
RShNQUNISU5FX0NPTlRFWFQpCiAKQEAgLTY2OCw3ICs2NjgsNyBAQCBpbmxpbmUgdm9pZCogYXJn
dW1lbnRQb2ludGVyKGNvbnN0IG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogfQogI2VuZGlm
IC8vIEhBVkUoTUFDSElORV9DT05URVhUKQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxF
KENfTE9PUCkKICNpZiBPUyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIGlubGlu
ZSB2b2lkKiYgbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3Mp
CiB7CkBAIC03ODMsNyArNzgzLDcgQEAgaW5saW5lIHZvaWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2lu
dGVyKGNvbnN0IG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogICAgIHJldHVybiBsbGludElu
c3RydWN0aW9uUG9pbnRlcihjb25zdF9jYXN0PG1jb250ZXh0X3QmPihtYWNoaW5lQ29udGV4dCkp
OwogfQogI2VuZGlmIC8vIEhBVkUoTUFDSElORV9DT05URVhUKQotI2VuZGlmIC8vIEVOQUJMRShK
SVQpCisjZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApCiAKIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHAKaW5kZXggYjY5MzVlNGM3
NTU0ZGExYWYyMGQ0NGFiNjI5OTJmNWEzODkxYmNiZC4uMGYyMTg0MzAzZjZlM2RkMmU1MWZmNWQ5
MzU0MWRkNzUzZDY2MjJlYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU2FtcGxpbmdQcm9maWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU2FtcGxpbmdQcm9maWxlci5jcHAKQEAgLTYwMSwxMCArNjAxLDE2IEBAIHZvaWQgU2FtcGxp
bmdQcm9maWxlcjo6cHJvY2Vzc1VudmVyaWZpZWRTdGFja1RyYWNlcygpCiAgICAgICAgICAgICAg
ICAgICAgIHN0b3JlQ2FsbGVlSW50b0xhc3RGcmFtZSh1bnByb2Nlc3NlZFN0YWNrVHJhY2UuZnJh
bWVzWzBdLnVudmVyaWZpZWRDYWxsZWUpOwogICAgICAgICAgICAgICAgICAgICBzdGFydEluZGV4
ID0gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHN0ZDo6b3B0
aW9uYWw8Q29kZU9yaWdpbj4gY29kZU9yaWdpbiA9IHRvcENvZGVCbG9jay0+ZmluZFBDKHVucHJv
Y2Vzc2VkU3RhY2tUcmFjZS50b3BQQykpIHsKLSAgICAgICAgICAgICAgICBhcHBlbmRDb2RlT3Jp
Z2luKHRvcENvZGVCbG9jaywgKmNvZGVPcmlnaW4pOwotICAgICAgICAgICAgICAgIHN0b3JlQ2Fs
bGVlSW50b0xhc3RGcmFtZSh1bnByb2Nlc3NlZFN0YWNrVHJhY2UuZnJhbWVzWzBdLnVudmVyaWZp
ZWRDYWxsZWUpOwotICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSAxOworICAgICAgICAgICAg
fSBlbHNlIHsKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICAgICAgICAgIGlmIChzdGQ6Om9wdGlv
bmFsPENvZGVPcmlnaW4+IGNvZGVPcmlnaW4gPSB0b3BDb2RlQmxvY2stPmZpbmRQQyh1bnByb2Nl
c3NlZFN0YWNrVHJhY2UudG9wUEMpKSB7CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZENvZGVP
cmlnaW4odG9wQ29kZUJsb2NrLCAqY29kZU9yaWdpbik7CisgICAgICAgICAgICAgICAgICAgIHN0
b3JlQ2FsbGVlSW50b0xhc3RGcmFtZSh1bnByb2Nlc3NlZFN0YWNrVHJhY2UuZnJhbWVzWzBdLnVu
dmVyaWZpZWRDYWxsZWUpOworICAgICAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gMTsKKyAg
ICAgICAgICAgICAgICB9CisjZWxzZQorICAgICAgICAgICAgICAgIFVOVVNFRF9QQVJBTShhcHBl
bmRDb2RlT3JpZ2luKTsKKyNlbmRpZgogICAgICAgICAgICAgfQogICAgICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRleCA4ZTA5MmJjNWE4YTc4YmU4NjA5YjQ5ZDZj
YzZmY2VkMTg1YTg0NTE5Li4zZGM5NmZmMTRjMjM3NGFkYjUzMTRiYjY4YWNmZWY5Nzg5ZmIxM2E2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC0xNTksNyArMTU5LDcgQEAK
ICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg+CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19M
T09QKQogI2luY2x1ZGUgIkNMb29wU3RhY2suaCIKICNpbmNsdWRlICJDTG9vcFN0YWNrSW5saW5l
cy5oIgogI2VuZGlmCkBAIC00NjEsNyArNDYxLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhl
YXBUeXBlIGhlYXBUeXBlKQogICAgIGZ0bFRodW5rcyA9IHN0ZDo6bWFrZV91bmlxdWU8RlRMOjpU
aHVua3M+KCk7CiAjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCiAgICAgCi0jaWYgRU5BQkxFKEpJ
VCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBpbml0aWFsaXplSG9zdENhbGxSZXR1cm5WYWx1
ZSgpOyAvLyBUaGlzIGlzIG5lZWRlZCB0byBjb252aW5jZSB0aGUgbGlua2VyIG5vdCB0byBkcm9w
IGhvc3QgY2FsbCByZXR1cm4gc3VwcG9ydC4KICNlbmRpZgogICAgIApAQCAtODc2LDcgKzg3Niw3
IEBAIHNpemVfdCBWTTo6dXBkYXRlU29mdFJlc2VydmVkWm9uZVNpemUoc2l6ZV90IHNvZnRSZXNl
cnZlZFpvbmVTaXplKQogewogICAgIHNpemVfdCBvbGRTb2Z0UmVzZXJ2ZWRab25lU2l6ZSA9IG1f
Y3VycmVudFNvZnRSZXNlcnZlZFpvbmVTaXplOwogICAgIG1fY3VycmVudFNvZnRSZXNlcnZlZFpv
bmVTaXplID0gc29mdFJlc2VydmVkWm9uZVNpemU7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKICAgICBpbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLnNldFNvZnRSZXNlcnZl
ZFpvbmVTaXplKHNvZnRSZXNlcnZlZFpvbmVTaXplKTsKICNlbmRpZgogCkBAIC0xMTQ1LDcgKzEx
NDUsNyBAQCB2b2lkIHNhbml0aXplU3RhY2tGb3JWTShWTSogdm0pCiAgICAgICAgIEFTU0VSVCh2
bS0+Y3VycmVudFRocmVhZElzSG9sZGluZ0FQSUxvY2soKSk7CiAgICAgICAgIEFTU0VSVF9VTlVT
RUQoc3RhY2tCb3VuZHMsIHN0YWNrQm91bmRzLmNvbnRhaW5zKHZtLT5sYXN0U3RhY2tUb3AoKSkp
OwogICAgIH0KLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIHZtLT5p
bnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLnNhbml0aXplU3RhY2soKTsKICNlbHNlCiAgICAgc2Fu
aXRpemVTdGFja0ZvclZNSW1wbCh2bSk7CkBAIC0xMTU0LDcgKzExNTQsNyBAQCB2b2lkIHNhbml0
aXplU3RhY2tGb3JWTShWTSogdm0pCiAKIHNpemVfdCBWTTo6Y29tbWl0dGVkU3RhY2tCeXRlQ291
bnQoKQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAgICAgLy8gV2hl
biB1c2luZyB0aGUgQyBzdGFjaywgd2UgZG9uJ3Qga25vdyBob3cgbWFueSBzdGFjayBwYWdlcyBh
cmUgYWN0dWFsbHkKICAgICAvLyBjb21taXR0ZWQuIFNvLCB3ZSB1c2UgdGhlIGN1cnJlbnQgc3Rh
Y2sgdXNhZ2UgYXMgYW4gZXN0aW1hdGUuCiAgICAgQVNTRVJUKFRocmVhZDo6Y3VycmVudCgpLnN0
YWNrKCkuaXNHcm93aW5nRG93bndhcmQoKSk7CkBAIC0xMTY2LDcgKzExNjYsNyBAQCBzaXplX3Qg
Vk06OmNvbW1pdHRlZFN0YWNrQnl0ZUNvdW50KCkKICNlbmRpZgogfQogCi0jaWYgIUVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIGJvb2wgVk06OmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3JD
TG9vcChSZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIHsKICAgICByZXR1cm4gaW50ZXJwcmV0ZXIt
PmNsb29wU3RhY2soKS5lbnN1cmVDYXBhY2l0eUZvcihuZXdUb3BPZlN0YWNrKTsKQEAgLTExNzYs
NyArMTE3Niw3IEBAIGJvb2wgVk06OmlzU2FmZVRvUmVjdXJzZVNvZnRDTG9vcCgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIGludGVycHJldGVyLT5jbG9vcFN0YWNrKCkuaXNTYWZlVG9SZWN1cnNlKCk7
CiB9Ci0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKIAog
I2lmIEVOQUJMRShFWENFUFRJT05fU0NPUEVfVkVSSUZJQ0FUSU9OKQogdm9pZCBWTTo6dmVyaWZ5
RXhjZXB0aW9uQ2hlY2tOZWVkSXNTYXRpc2ZpZWQodW5zaWduZWQgcmVjdXJzaW9uRGVwdGgsIEV4
Y2VwdGlvbkV2ZW50TG9jYXRpb24mIGxvY2F0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZN
LmgKaW5kZXggNDBkYTVkMzY4OTI1MzhiMmIyYmI0ZDE2NzYxMmU1N2Q1MTVhY2Q2My4uZjk3YWYz
NWExNDlkMzU5YjJlNDYwYmY3ZDFhMWI5OTcxNzcyOGU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5oCkBAIC03MTYsNyArNzE2LDcgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICB2
b2lkKiBzdGFja0xpbWl0KCkgeyByZXR1cm4gbV9zdGFja0xpbWl0OyB9CiAgICAgdm9pZCogc29m
dFN0YWNrTGltaXQoKSB7IHJldHVybiBtX3NvZnRTdGFja0xpbWl0OyB9CiAgICAgdm9pZCoqIGFk
ZHJlc3NPZlNvZnRTdGFja0xpbWl0KCkgeyByZXR1cm4gJm1fc29mdFN0YWNrTGltaXQ7IH0KLSNp
ZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIHZvaWQqIGNsb29wU3RhY2tM
aW1pdCgpIHsgcmV0dXJuIG1fY2xvb3BTdGFja0xpbWl0OyB9CiAgICAgdm9pZCBzZXRDTG9vcFN0
YWNrTGltaXQodm9pZCogbGltaXQpIHsgbV9jbG9vcFN0YWNrTGltaXQgPSBsaW1pdDsgfQogI2Vu
ZGlmCkBAIC05MjksMTAgKzkyOSwxMCBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgICAgICBt
X2V4Y2VwdGlvbiA9IG51bGxwdHI7CiAgICAgfQogCi0jaWYgIUVOQUJMRShKSVQpICAgIAorI2lm
IEVOQUJMRShDX0xPT1ApCiAgICAgYm9vbCBlbnN1cmVTdGFja0NhcGFjaXR5Rm9yQ0xvb3AoUmVn
aXN0ZXIqIG5ld1RvcE9mU3RhY2spOwogICAgIGJvb2wgaXNTYWZlVG9SZWN1cnNlU29mdENMb29w
KCkgY29uc3Q7Ci0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9P
UCkKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgdGhyb3dFeGNlcHRpb24oRXhlY1N0YXRl
KiwgRXhjZXB0aW9uKik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNWYWx1ZSB0aHJvd0V4Y2Vw
dGlvbihFeGVjU3RhdGUqLCBKU1ZhbHVlKTsKQEAgLTk1Myw3ICs5NTMsNyBAQCBjbGFzcyBWTSA6
IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0
Tm9kZTxWTT4gewogICAgIHNpemVfdCBtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKICAg
ICB2b2lkKiBtX3N0YWNrTGltaXQgeyBudWxscHRyIH07CiAgICAgdm9pZCogbV9zb2Z0U3RhY2tM
aW1pdCB7IG51bGxwdHIgfTsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQog
ICAgIHZvaWQqIG1fY2xvb3BTdGFja0xpbWl0IHsgbnVsbHB0ciB9OwogI2VuZGlmCiAgICAgdm9p
ZCogbV9sYXN0U3RhY2tUb3AgeyBudWxscHRyIH07CkBAIC0xMDM1LDcgKzEwMzUsNyBAQCBpbmxp
bmUgSGVhcCogV2Vha1NldDo6aGVhcCgpIGNvbnN0CiAgICAgcmV0dXJuICZtX3ZtLT5oZWFwOwog
fQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIGV4dGVybiAiQyIgdm9p
ZCBzYW5pdGl6ZVN0YWNrRm9yVk1JbXBsKFZNKik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9WTUlubGluZXMuaAppbmRleCAxNWI1MGQ2ZGZiYWVhMTIyNjI5OWU3MTI5
MTBkMzBkYmIzZjFmMTMzLi4xNWU1ZGYwYjI1MzE0ZTdlNjgwYjhlNTliOTA1NGZhOTVlMzY3NTJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUlubGluZXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUlubGluZXMuaApAQCAtMzUsNyAr
MzUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAKIGJvb2wgVk06OmVuc3VyZVN0YWNrQ2FwYWNp
dHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAh
RU5BQkxFKENfTE9PUCkKICAgICBBU1NFUlQoVGhyZWFkOjpjdXJyZW50KCkuc3RhY2soKS5pc0dy
b3dpbmdEb3dud2FyZCgpKTsKICAgICByZXR1cm4gbmV3VG9wT2ZTdGFjayA+PSBtX3NvZnRTdGFj
a0xpbWl0OwogI2Vsc2UKQEAgLTQ3LDcgKzQ3LDcgQEAgYm9vbCBWTTo6ZW5zdXJlU3RhY2tDYXBh
Y2l0eUZvcihSZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIGJvb2wgVk06OmlzU2FmZVRvUmVjdXJz
ZVNvZnQoKSBjb25zdAogewogICAgIGJvb2wgc2FmZSA9IGlzU2FmZVRvUmVjdXJzZShtX3NvZnRT
dGFja0xpbWl0KTsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIHNh
ZmUgPSBzYWZlICYmIGlzU2FmZVRvUmVjdXJzZVNvZnRDTG9vcCgpOwogI2VuZGlmCiAgICAgcmV0
dXJuIHNhZmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBlNTY5Y2RjNTYzODk3MmYyY2FhMTQzOWE2YmIzNjIx
OGZmOWYzNzRiLi4xYTgzMzQ5NTNjMzg2MmQ0Mzc4ZDE4NjJjY2FiZmVhMWM2ZmY3NjQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmgKQEAgLTc1Nyw2ICs3NTcsMTUgQEAKICNkZWZpbmUgRU5BQkxFX0pJVCAwCiAjZW5k
aWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9DX0xPT1ApCisjaWYgRU5BQkxFKEpJVCkgXAorICAg
IHx8IENQVShYODZfNjQpIHx8IChDUFUoQVJNNjQpICYmICFkZWZpbmVkKF9fSUxQMzJfXykpCisj
ZGVmaW5lIEVOQUJMRV9DX0xPT1AgMAorI2Vsc2UKKyNkZWZpbmUgRU5BQkxFX0NfTE9PUCAxCisj
ZW5kaWYKKyNlbmRpZgorCiAvKiBUaGUgRlRMICpkb2VzIG5vdCogd29yayBvbiAzMi1iaXQgcGxh
dGZvcm1zLiBEaXNhYmxlIGl0IGV2ZW4gaWYgc29tZW9uZSBhc2tlZCB1cyB0byBlbmFibGUgaXQu
ICovCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICN1bmRlZiBFTkFCTEVfRlRMX0pJVApAQCAtODYz
LDcgKzg3Miw3IEBACiAgKiBJbiBjb25maWd1cmF0aW9ucyBvdGhlciB0aGFuIFdpbmRvd3MgYW5k
IERhcndpbiwgYmVjYXVzZSBsYXlvdXQgb2YgbWNvbnRleHRfdCBkZXBlbmRzIG9uIHN0YW5kYXJk
IGxpYnJhcmllcyAobGlrZSBnbGliYyksCiAgKiBzYW1wbGluZyBwcm9maWxlciBpcyBlbmFibGVk
IGlmIFdlYktpdCB1c2VzIHB0aHJlYWRzIGFuZCBnbGliYy4gKi8KICNpZiAhZGVmaW5lZChFTkFC
TEVfU0FNUExJTkdfUFJPRklMRVIpCi0jaWYgRU5BQkxFKEpJVCkgJiYgKE9TKFdJTkRPV1MpIHx8
IEhBVkUoTUFDSElORV9DT05URVhUKSkKKyNpZiAhRU5BQkxFKENfTE9PUCkgJiYgKE9TKFdJTkRP
V1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKSkKICNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1BS
T0ZJTEVSIDEKICNlbHNlCiAjZGVmaW5lIEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiAwCkBAIC05
NTEsNyArOTYwLDcgQEAKICNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fT1BDT0RFUyAxCiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShKSVQpICYmICFDT01QSUxFUihNU1ZDKSAmJiBcCisjaWYgIUVO
QUJMRShDX0xPT1ApICYmICFDT01QSUxFUihNU1ZDKSAmJiBcCiAgICAgKENQVShYODYpIHx8IENQ
VShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgKENQVShBUk1fVEhVTUIyKSAmJiBPUyhEQVJXSU4p
KSkKIC8qIFRoaXMgZmVhdHVyZSB3b3JrcyBieSBlbWJlZGRpbmcgdGhlIE9wY29kZUlEIGluIHRo
ZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdlbmVyYXRlZCBMTGludCBjb2RlCiAgICB0aGF0IGV4
ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5ub3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBDTG9vcCBz
aW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJlZCB0aGUKQEAgLTk4MSw3ICs5OTAsNyBAQAogCiAv
KiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUgUmVnRXhwIEpJVCBpcyBlbmFibGVkLCB0aGVuIHRo
ZSBBc3NlbWJsZXIgbXVzdCBiZQogICAgZW5hYmxlZCBhcyB3ZWxsOiAqLwotI2lmIEVOQUJMRShK
SVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9K
SVQpIHx8ICFFTkFCTEUoQ19MT09QKQogI2lmIGRlZmluZWQoRU5BQkxFX0FTU0VNQkxFUikgJiYg
IUVOQUJMRV9BU1NFTUJMRVIKICNlcnJvciAiQ2Fubm90IGVuYWJsZSB0aGUgSklUIG9yIFJlZ0V4
cCBKSVQgd2l0aG91dCBlbmFibGluZyB0aGUgQXNzZW1ibGVyIgogI2Vsc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQppbmRleCAxMTZlMGQ5Njk3NGYxMmVkZGUwNjA1YzFlN2NmNmQyMzhiZjNm
YTAwLi41YTQ1MjhhZTE3ZDEzYzA3NDI5YTU0Y2NmMGE0NmI5N2NlM2E5ZjI1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCkBAIC0xOTUsNyArMTk1LDYgQEAgbWFjcm8oV0VCS0lUX09QVElP
Tl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfREZHX0pJVCBFTkFCTEVf
SklUKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9GVExfSklUIEVOQUJMRV9ERkdf
SklUKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9XRUJBU1NFTUJMWSBFTkFCTEVf
RlRMX0pJVCkKLSAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfU0FNUExJTkdfUFJPRklM
RVIgRU5BQkxFX0pJVCkKICAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKQogICAgIFdFQktJVF9P
UFRJT05fREVQRU5EKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQgRU5BQkxFX1ZJREVPKQog
ICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9NRURJQV9TT1VSQ0UgRU5BQkxFX1ZJREVP
KQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDFmOWQ5ZjQxZWJmYTMw
MzNmYmFkZGFkMzk0OTNhYjYwZTViZTViNmMuLmI1MzkwMWM0Yzk1ZjkxZTNmNTBmNGQyMzhkZWZk
MTk5ZTg1ZjZlZTYgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxOC0wOS0yMSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93
c3RhcnQub3JnPgorCisgICAgICAgIFtKU0NdIEVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIg
b24gWDY0IGFuZCBBUk02NCBpbiBub24gSklUIGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTc3OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVOQUJMRV9TQU1QTElOR19QUk9GSUxF
UiBkb2VzIG5vdCBkZXBlbmQgb24gRU5BQkxFX0pJVCBub3cgc2luY2UgaXQgY2FuIGJlCisgICAg
ICAgIHVzZWQgd2l0aCBMTEludCBBU00gaW50ZXJwcmV0ZXIuCisKKyAgICAgICAgKiBTb3VyY2Uv
Y21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisKIDIwMTgtMDktMjAgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0
ZSBHVEsrIGxpYnJhcnkgdmVyc2lvbnMgYWZ0ZXIgcjIzNTM2Mi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350340</attachid>
            <date>2018-09-21 02:12:05 -0700</date>
            <delta_ts>2018-09-21 02:31:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189778-20180921181204.patch</filename>
            <type>text/plain</type>
            <size>70920</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
YzY1MjUxNTMwY2JhMjFiMjlkNmYyZGZmZWQzYmE1MDk1OTIyZjk3Li44YjlkYTk1OTgzNGFhMzI3
MzlmYjNiM2ZjMjgxN2FiMmE2OGQyM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTEgQEAKKzIwMTgtMDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xv
d3N0YXJ0Lm9yZz4KKworICAgICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVy
IG9uIFg2NCBhbmQgQVJNNjQgaW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMTEludCBBU00gaW50ZXJwcmV0ZXIg
aXMgMnggYW5kIDE1JSBmYXN0ZXIgdGhhbiBDTG9vcCBpbnRlcnByZXRlciBvbgorICAgICAgICBM
aW51eCBhbmQgbWFjT1MgcmVzcGVjdGl2ZWx5LiBXZSB3b3VsZCBsaWtlIHRvIGVuYWJsZSBpdCBm
b3Igbm9uIEpJVAorICAgICAgICBjb25maWd1cmF0aW9uIGluIFg4Nl82NCBhbmQgQVJNNjQuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBlbmFibGVzIExMSW50IGZvciBub24gSklUIGluIFg4Nl82NCBh
bmQgQVJNNjQgYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgUHJldmlvdXNseSwgd2Ugc3dpdGNoIExM
SW50IEFTTSBpbnRlcnByZXRlciBhbmQgQ0xvb3AgYnkgdXNpbmcgRU5BQkxFKEpJVCkKKyAgICAg
ICAgY29uZmlndXJhdGlvbi4gQnV0IGl0IGlzIHdyb25nIGluIHRoZSBuZXcgc2NlbmFyaW8gc2lu
Y2Ugd2UgaGF2ZSBhIGJ1aWxkeAorICAgICAgICBjb25maWd1cmF0aW9uIHRoYXQgdXNlcyBMTElu
dCBBU00gaW50ZXJwcmV0ZXIgYW5kIEpJVCBpcyBkaXNhYmxlZC4gV2UgaW50cm9kdWNlCisgICAg
ICAgIEVOQUJMRShDX0xPT1ApIG9wdGlvbiwgd2hpY2ggcmVwcmVzZW50cyB0aGF0IHdlIHVzZSBD
TG9vcC4gQW5kIHdlIHJlcGxhY2UKKyAgICAgICAgRU5BQkxFKEpJVCkgd2l0aCBFTkFCTEUoQ19M
T09QKSBpZiB0aGUgcHJldmlvdXMgRU5BQkxFKEpJVCkgaXMgZXNzZW50aWFsbHkganVzdAorICAg
ICAgICByZWxhdGVkIHRvIExMSW50IEFTTSBpbnRlcnByZXRlciBhbmQgbm90IHJlbGF0ZWQgdG8g
SklULgorCisgICAgICAgIFdlIGFsc28gcmVwbGFjZSBzb21lIEVOQUJMRShKSVQpIGNvbmZpZ3Vy
YXRpb25zIHdpdGggRU5BQkxFKEFTU0VNQkxFUikuCisgICAgICAgIEVOQUJMRShBU1NFTUJMRVIp
IGlzIG5vdyBlbmFibGVkIGV2ZW4gaWYgd2UgZGlzYWJsZSBKSVQgc2luY2UgTWFjcm9Bc3NlbWJs
ZXIKKyAgICAgICAgaGFzIG1hY2hpbmUgcmVnaXN0ZXIgaW5mb3JtYXRpb24gdGhhdCBpcyB1c2Vk
IGluIExMSW50IEFTTSBpbnRlcnByZXRlci4KKworICAgICAgICAqIEFQSS90ZXN0cy9QaW5nUG9u
Z1N0YWNrT3ZlcmZsb3dUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RQaW5nUG9uZ1N0YWNrT3ZlcmZs
b3cpOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYXNzZW1ibGVyL01heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmg6CisgICAgICAgICogYnl0ZWNvZGUvQ2FsbFJldHVybk9m
ZnNldFRvQnl0ZWNvZGVPZmZzZXQuaDogUmVtb3ZlZC4gSXQgaXMgbm8gbG9uZ2VyIHVzZWQuCisg
ICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2Nr
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmg6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6Y2FsbGVlU2F2ZVJlZ2lzdGVycyBjb25zdCk6CisgICAgICAg
IChKU0M6OkNvZGVCbG9jazo6bnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVy
cyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFj
ZUFzVmlydHVhbFJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Y2FsbGVlU2F2
ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKToKKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoK
KyAgICAgICAgKEpTQzo6cGFkT3Bjb2RlTmFtZSk6CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoK
KyAgICAgICAgKEpTQzo6SGVhcDo6Z2F0aGVySlNTdGFja1Jvb3RzKToKKyAgICAgICAgKEpTQzo6
SGVhcDo6c3RvcFRoZVBlcmlwaGVyeSk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFj
ay5jcHA6CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oOgorICAgICAgICAqIGlu
dGVycHJldGVyL0NMb29wU3RhY2tJbmxpbmVzLmg6CisgICAgICAgICogaW50ZXJwcmV0ZXIvRW50
cnlGcmFtZS5oOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAg
ICAgKEpTQzo6SW50ZXJwcmV0ZXI6OkludGVycHJldGVyKToKKyAgICAgICAgKEpTQzo6VW53aW5k
RnVuY3Rvcjo6Y29weUNhbGxlZVNhdmVzVG9FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIgY29u
c3QpOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmg6CisgICAgICAgICogaW50
ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpG
cmFtZTo6Y2FsbGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvVk1FbnRy
eVJlY29yZC5oOgorICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmg6CisgICAgICAg
ICogaml0L0ZQUkluZm8uaDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAg
ICogaml0L0dQUkluZm8uY3BwOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChX
VEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNw
cDoKKyAgICAgICAgKEpTQzo6Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpOiBN
b3ZlZC4gVGhleSBhcmUgdXNlZCBpbiBMTEludCBBU00gaW50ZXJwcmV0ZXIgdG9vLgorICAgICAg
ICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmg6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlv
bnMuY3BwOgorICAgICAgICAoSlNDOjpnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0
ZSk6IERlbGV0ZWQuCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwOgorICAg
ICAgICAqIGppdC9SZWcuY3BwOgorICAgICAgICAqIGppdC9SZWcuaDoKKyAgICAgICAgKiBqaXQv
UmVnaXN0ZXJBdE9mZnNldC5jcHA6CisgICAgICAgICogaml0L1JlZ2lzdGVyQXRPZmZzZXQuaDoK
KyAgICAgICAgKiBqaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuY3BwOgorICAgICAgICAqIGppdC9S
ZWdpc3RlckF0T2Zmc2V0TGlzdC5oOgorICAgICAgICAqIGppdC9SZWdpc3Rlck1hcC5oOgorICAg
ICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgICogaml0L1JlZ2lzdGVyU2V0Lmg6
CisgICAgICAgICogaml0L1RlbXBSZWdpc3RlclNldC5jcHA6CisgICAgICAgICogaml0L1RlbXBS
ZWdpc3RlclNldC5oOgorICAgICAgICAqIGxsaW50L0xMSW50Q0xvb3AuY3BwOgorICAgICAgICAq
IGxsaW50L0xMSW50Q0xvb3AuaDoKKyAgICAgICAgKiBsbGludC9MTEludERhdGEuY3BwOgorICAg
ICAgICAoSlNDOjpMTEludDo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChKU0M6OkxMSW50OjpEYXRh
OjpwZXJmb3JtQXNzZXJ0aW9ucyk6CisgICAgICAgICogbGxpbnQvTExJbnREYXRhLmg6CisgICAg
ICAgICogbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmg6CisgICAgICAgICogbGxpbnQvTExJ
bnRPcGNvZGUuaDoKKyAgICAgICAgKiBsbGludC9MTEludFBDUmFuZ2VzLmg6CisgICAgICAgICog
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6TExJTlRfU0xP
V19QQVRIX0RFQ0wpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAg
ICogbGxpbnQvTExJbnRUaHVua3MuY3BwOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuaDoKKyAgICAgICAgKiBydW50aW1lL01hY2hpbmVDb250
ZXh0Lmg6CisgICAgICAgICogcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcDoKKyAgICAgICAg
KEpTQzo6U2FtcGxpbmdQcm9maWxlcjo6cHJvY2Vzc1VudmVyaWZpZWRTdGFja1RyYWNlcyk6IEVu
YWJsZSBTYW1wbGluZ1Byb2ZpbGVyCisgICAgICAgIGZvciBMTEludCBBU00gaW50ZXJwcmV0ZXIg
d2l0aCBub24gSklUIGNvbmZpZ3VyYXRpb24uCisgICAgICAgICogcnVudGltZS9UZXN0UnVubmVy
VXRpbHMuY3BwOgorICAgICAgICAoSlNDOjpvcHRpbWl6ZU5leHRJbnZvY2F0aW9uKToKKyAgICAg
ICAgKiBydW50aW1lL1ZNLmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKEpT
Qzo6Vk06OmdldEhvc3RGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlZNOjp1cGRhdGVTb2Z0UmVz
ZXJ2ZWRab25lU2l6ZSk6CisgICAgICAgIChKU0M6OnNhbml0aXplU3RhY2tGb3JWTSk6CisgICAg
ICAgIChKU0M6OlZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCk6CisgICAgICAgICogcnVudGlt
ZS9WTS5oOgorICAgICAgICAqIHJ1bnRpbWUvVk1JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlZN
OjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yKToKKyAgICAgICAgKEpTQzo6Vk06OmlzU2FmZVRvUmVj
dXJzZVNvZnQgY29uc3QpOgorCiAyMDE4LTA5LTIwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzYyOTMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IDg5NWJmOTkxNjNkYjNhYWRiMWZjNzRlM2QzMWUzMjQxODZjMWM5MmUuLmU3ODM4ZDdhOGM2
YTI4Y2FkZDU1M2Y4YTEzYzY2ZmFlNzQ2M2E3NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTgt
MDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KKworICAg
ICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVyIG9uIFg2NCBhbmQgQVJNNjQg
aW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgRU5BQkxFKENfTE9PUCkgd2hpY2ggaW5k
aWNhdGVzIHdlIHVzZSBDTG9vcCBhcyB0aGUgaW50ZXJwcmV0ZXIuCisgICAgICAgIFByZXZpb3Vz
bHksIHdlIHVzZWQgIUVOQUJMRShKSVQpIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uIEJ1dCBub3cs
IHdlIGhhdmUKKyAgICAgICAgYSBidWlsZCBjb25maWd1cmF0aW9uIHRoYXQgaGFzIExMSW50IEFT
TSBpbnRlcnByZXRlciAobm90IENMb29wKSBhbmQgIUVOQUJMRShKSVQpLgorCisgICAgICAgIFdl
IGVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIgZm9yIG5vbiBKSVQgZW52aXJvbm1lbnQgaW4g
WDg2XzY0IGFuZCBBUk02NCBhcmNoaXRlY3R1cmVzLgorICAgICAgICBBbmQgd2UgZW5hYmxlIEVO
QUJMRShBU1NFTUJMRVIpIGZvciBub24gSklUIGVudmlyb25tZW50IHNpbmNlIGl0IG9mZmVycyBt
YWNoaW5lIHJlZ2lzdGVyCisgICAgICAgIGluZm9ybWF0aW9uIHdoaWNoIGlzIHVzZWQgZm9yIExM
SW50IGFuZCBTYW1wbGluZ1Byb2ZpbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTgtMDktMjAgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAK
ICAgICAgICAgW1dpbl1bQ2xhbmddIFVOVVNFRF9QQVJBTSh0aGlzKSBjYXVzZXMgY29tcGlsYXRp
b24gZXJyb3Igb2YgImNhbm5vdCB0YWtlIHRoZSBhZGRyZXNzIG9mIGFuIHJ2YWx1ZSBvZiB0eXBl
IgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0
YWNrT3ZlcmZsb3dUZXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvUGlu
Z1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAKaW5kZXggZmJlNDY4NzIwMzJiODYxMDkwMzM0NWY2
NDdlYWRkYTM0YzBkODk5MS4uODMyYmQxNDBiYzk1ZWFkYmQ1NmI0MjhmNzAzNzE3YTQ3MzRlYmM3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0
YWNrT3ZlcmZsb3dUZXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3Rz
L1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgaW50IHRl
c3RQaW5nUG9uZ1N0YWNrT3ZlcmZsb3coKQogCiAgICAgT3B0aW9uczo6c29mdFJlc2VydmVkWm9u
ZVNpemUoKSA9IDEyOCAqIEtCOwogICAgIE9wdGlvbnM6OnJlc2VydmVkWm9uZVNpemUoKSA9IDY0
ICogS0I7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIC8vIE5vcm1h
bGx5LCB3ZSB3YW50IHRvIGRpc2FibGUgdGhlIExMSU5UIHRvIGZvcmNlIHRoZSB1c2Ugb2YgSklU
dGVkIGNvZGUgd2hpY2ggaXMgbmVjZXNzYXJ5IGZvcgogICAgIC8vIHJlcHJvZHVjaW5nIHRoZSBy
ZWdyZXNzaW9uIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg3
NDkuIEhvd2V2ZXIsIHdlIG9ubHkKICAgICAvLyB3YW50IHRvIGRvIHRoaXMgaWYgdGhlIExMSU5U
IGlzbid0IHRoZSBvbmx5IGF2YWlsYWJsZSBleGVjdXRpb24gZW5naW5lLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDk2ZTMzYTIwNTc3YTRhNTc1NGExZmVhOTQzMmQ3OTY0
MDYxMjQzMjIuLjFhZGZhMTRkNjRhMjY0Y2ZjNzBjMDM1ZmY1NjNmN2Q3YTAwMTZlYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIzMiw2ICsyMzIsMTIgQEAgZWxzZSAo
KQogCiAgICAgaWYgKE5PVCBFTkFCTEVfSklUKQogICAgICAgICBzZXQoT0ZGTElORV9BU01fQkFD
S0VORCAiQ19MT09QIikKKyAgICAgICAgIyBGb3IgbWFqb3IgdHdvIGFyY2hpdGVjdHVyZXMsIHdl
IHVzZSBMTEludCBBU00gaW50ZXJwcmV0ZXJzLgorICAgICAgICBpZiAoV1RGX0NQVV9YODZfNjQp
CisgICAgICAgICAgICBzZXQoT0ZGTElORV9BU01fQkFDS0VORCAiWDg2XzY0IikKKyAgICAgICAg
ZWxzZWlmIChXVEZfQ1BVX0FSTTY0KQorICAgICAgICAgICAgc2V0KE9GRkxJTkVfQVNNX0JBQ0tF
TkQgIkFSTTY0IikKKyAgICAgICAgZW5kaWYgKCkKICAgICBlbmRpZiAoKQogZW5kaWYgKCkKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5YzVjNTBjNjIxYjhiNmUzZmE3MzhiM2Y5
NmJiMjZiMWFkYmQ4ZGZlLi41N2QwZTk2ZTY1OTY2ZTAwZDhmMzFhYmViNjY1MzE1ZGNmMDRjY2Rk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5LDcgKzEwOSw2IEBACiAJCTBG
MEI4M0E5MTRCQ0Y1NjIwMDg4NUI0RiAvKiBIYW5kbGVySW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwQjgzQTgxNEJDRjU1RTAwODg1QjRGIC8q
IEhhbmRsZXJJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMEYwQjgzQUIxNEJDRjVCQjAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0FB
MTRCQ0Y1QjkwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYwQjgzQjExNEJDRjcxODAwODg1
QjRGIC8qIENhbGxMaW5rSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEYwQjgzQUYxNEJDRjcxNDAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTBGMEI4M0I5
MTRCQ0Y5NUYwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYwQjgzQjgxNEJD
Rjk1QjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYwQ0FFRkMxRUM0
REE2QjAwOTcwRDEyIC8qIEpTSGVhcEZpbmFsaXplclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMENBRUZBMUVDNERBNjIwMDk3MEQxMiAv
KiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEYwQ0FFRkYxRUM0REE4ODAwOTcwRDEyIC8qIEhlYXBGaW5h
bGl6ZXJDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEYwQ0FFRkUxRUM0REE4NTAwOTcwRDEyIC8qIEhlYXBGaW5hbGl6ZXJDYWxsYmFjay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMENE
NEMyMTVGMUE2MDcwMDMyRjFDMCAvKiBQdXREaXJlY3RJbmRleE1vZGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMENENEMwMTVGMUE2MDQwMDMyRjFD
MCAvKiBQdXREaXJlY3RJbmRleE1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMjAxMSw3ICsyMDEwLDYgQEAKIAkJMEYwQjgzQUExNEJDRjVC
OTAwODg1QjRGIC8qIEV4cHJlc3Npb25SYW5nZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRXhwcmVzc2lvblJhbmdlSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwRjBCODNBRTE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhbGxMaW5rSW5mby5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMEI4M0FGMTRCQ0Y3MTQwMDg4NUI0RiAvKiBDYWxs
TGlua0luZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbExpbmtJbmZv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGMEI4M0I4MTRCQ0Y5NUIwMDg4NUI0
RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjBDQUVGOTFFQzREQTYyMDA5NzBEMTIgLyogSlNI
ZWFwRmluYWxpemVyUHJpdmF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEYwQ0FFRkExRUM0REE2MjAwOTcwRDEyIC8qIEpTSGVhcEZpbmFsaXplclByaXZhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIZWFwRmluYWxpemVyUHJpdmF0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjBDQUVGRDFFQzREQTg1MDA5NzBE
MTIgLyogSGVhcEZpbmFsaXplckNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEhlYXBGaW5hbGl6ZXJDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC03NjMxLDcgKzc2MjksNiBAQAogCQkJCTBGOTMzMjk0MTRDQTdEQzEwMDg1
RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5oICovLAogCQkJCTYyNzY3MzIxMUI2ODBDMUUwMEZEOUYy
RSAvKiBDYWxsTW9kZS5jcHAgKi8sCiAJCQkJNjI3NjczMjIxQjY4MEMxRTAwRkQ5RjJFIC8qIENh
bGxNb2RlLmggKi8sCi0JCQkJMEYwQjgzQjgxNEJDRjk1QjAwODg1QjRGIC8qIENhbGxSZXR1cm5P
ZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggKi8sCiAJCQkJMEYzQjdFMjQxOUExMUI4MDAwRDlCQzU2
IC8qIENhbGxWYXJpYW50LmNwcCAqLywKIAkJCQkwRjNCN0UyNTE5QTExQjgwMDBEOUJDNTYgLyog
Q2FsbFZhcmlhbnQuaCAqLywKIAkJCQk5NjlBMDc5MDBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJs
b2NrLmNwcCAqLywKQEAgLTc4MzAsNyArNzgyNyw2IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCTk5REEwMDk5MUJENTk5MjcwMEY0NTc1QyAvKiBfX2luaXRfXy5w
eSAqLywKLQkJCQk5OURBMDA5RDFCRDU5OTI3MDBGNDU3NUMgLyogd2tidWlsdGlucy5weSAqLywK
IAkJCQk5OURBMDA5RTFCRDU5OTI3MDBGNDU3NUMgLyogYnVpbHRpbnNfZ2VuZXJhdGVfY29tYmlu
ZWRfaGVhZGVyLnB5ICovLAogCQkJCTk5REEwMDlGMUJENTk5MjcwMEY0NTc1QyAvKiBidWlsdGlu
c19nZW5lcmF0ZV9jb21iaW5lZF9pbXBsZW1lbnRhdGlvbi5weSAqLywKIAkJCQk0MTI5NTI3MzFE
MkNGNkFDMDBFNzhCODkgLyogYnVpbHRpbnNfZ2VuZXJhdGVfaW50ZXJuYWxzX3dyYXBwZXJfaGVh
ZGVyLnB5ICovLApAQCAtNzg0Miw2ICs3ODM4LDcgQEAKIAkJCQk5OURBMDA5QTFCRDU5OTI3MDBG
NDU3NUMgLyogYnVpbHRpbnNfZ2VuZXJhdG9yLnB5ICovLAogCQkJCTk5REEwMDlCMUJENTk5Mjcw
MEY0NTc1QyAvKiBidWlsdGluc19tb2RlbC5weSAqLywKIAkJCQk5OURBMDA5QzFCRDU5OTI3MDBG
NDU3NUMgLyogYnVpbHRpbnNfdGVtcGxhdGVzLnB5ICovLAorCQkJCTk5REEwMDlEMUJENTk5Mjcw
MEY0NTc1QyAvKiB3a2J1aWx0aW5zLnB5ICovLAogCQkJKTsKIAkJCXBhdGggPSB3a2J1aWx0aW5z
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTg0MzksNyArODQzNiw2IEBACiAJCQkJ
REUyNkU5MDMxQ0I1REQwNTAwRDJCRTgyIC8qIEJ1aWx0aW5FeGVjdXRhYmxlQ3JlYXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTdEODAxQTUxODgwRDY2RTAwMjZDMzlCIC8qIEJ1aWx0aW5FeGVj
dXRhYmxlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc1RUU5QjIxOEFBQjdFMjAwQUFEMDQzIC8q
IEJ1aWx0aW5OYW1lcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTlEQTAwQTYxQkQ1OTkzMTAwRjQ1
NzVDIC8qIHdrYnVpbHRpbnMucHkgaW4gSGVhZGVycyAqLywKIAkJCQk5OURBMDBBNzFCRDU5OTMx
MDBGNDU3NUMgLyogYnVpbHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaGVhZGVyLnB5IGluIEhlYWRl
cnMgKi8sCiAJCQkJOTlEQTAwQTgxQkQ1OTkzMTAwRjQ1NzVDIC8qIGJ1aWx0aW5zX2dlbmVyYXRl
X2NvbWJpbmVkX2ltcGxlbWVudGF0aW9uLnB5IGluIEhlYWRlcnMgKi8sCiAJCQkJNDEyOTUyNzcx
RDJDRjZCQzAwRTc4Qjg5IC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hl
YWRlci5weSBpbiBIZWFkZXJzICovLApAQCAtODQ4MSw3ICs4NDc3LDYgQEAKIAkJCQkwRjBCODNC
MTE0QkNGNzE4MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjkzMzI5RTE0Q0E3REM1MDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTYyNzY3MzI0MUI2ODBDMUUwMEZEOUYyRSAvKiBDYWxsTW9kZS5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMEYwQjgzQjkxNEJDRjk1RjAwODg1QjRGIC8qIENhbGxSZXR1cm5PZmZzZXRUb0J5
dGVjb2RlT2Zmc2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjNCN0UyQjE5QTExQjgwMDBEOUJD
NTYgLyogQ2FsbFZhcmlhbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFODBDMTk3MUQ3NzVDREQw
MDg1MTBDMCAvKiBDYXRjaFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjI0RTU0MjE3RUE5
RjU5MDBBQkIyMTcgLyogQ0NhbGxIZWxwZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTk2ODksNiAr
OTY4NCw3IEBACiAJCQkJQURCQzU0RDUxREY4RUEyQjAwNUJGNzM4IC8qIFdlYkFzc2VtYmx5VG9K
U0NhbGxlZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTJGNkMzNUUxRTcxRUIwODAwODFGNENDIC8q
IFdlYkFzc2VtYmx5V3JhcHBlckZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQ3
QTBFMTZGNUNEMDBCMzQ0NjAgLyogV2ViS2l0QXZhaWxhYmlsaXR5LmggaW4gSGVhZGVycyAqLywK
KwkJCQk5OURBMDBBNjFCRDU5OTMxMDBGNDU3NUMgLyogd2tidWlsdGlucy5weSBpbiBIZWFkZXJz
ICovLAogCQkJCUE3RENCOTczMTJFNTE5M0YwMDkxMTk0MCAvKiBXcml0ZUJhcnJpZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUMyQjZENzUzMThBMzM3OTMwMDRBOTMwMSAvKiBXcml0ZUJhcnJpZXJJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkM4MTUwQTE0MDQzQkY1MDBDRkE2MDMgLyog
V3JpdGVCYXJyaWVyU3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsLmgKaW5kZXggYzZmNTNiMzQ3OTY2YzY2MzU0ZDAxZjhhZDZkY2ZiY2M4OTc5ZmY3My4u
NDMyMTMwNWM2OGU0ZGFmNjI4MjNmNmVlZjc1OTUxZmEyN2E5MzZiZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2Fs
bC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWF4RnJhbWVFeHRlbnRG
b3JTbG93UGF0aENhbGwuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIC8vIHRo
YXQgY2FuIGJlIHVzZWQgZm9yIG91dGdvaW5nIGFyZ3Mgd2hlbiBjYWxsaW5nIGEgc2xvdyBwYXRo
IEMgZnVuY3Rpb24KIC8vIGZyb20gSlMgY29kZS4KIAotI2lmICFFTkFCTEUoSklUKQorI2lmICFF
TkFCTEUoQVNTRU1CTEVSKQogc3RhdGljIGNvbnN0IHNpemVfdCBtYXhGcmFtZUV4dGVudEZvclNs
b3dQYXRoQ2FsbCA9IDA7CiAKICNlbGlmIENQVShYODZfNjQpICYmIE9TKFdJTkRPV1MpCkBAIC02
OSw3ICs2OSw3IEBAIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0
aENhbGwgPSA0MDsKIAogQ09NUElMRV9BU1NFUlQoIShtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRo
Q2FsbCAlIHNpemVvZihSZWdpc3RlcikpLCBleHRlbnRfbXVzdF9iZV9pbl9tdWx0aXBsZXNfb2Zf
cmVnaXN0ZXJzKTsKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIC8v
IE1ha2Ugc3VyZSB0aGF0IGNmciAtIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsIGJ5dGVz
IHdpbGwgbWFrZSB0aGUgc3RhY2sgcG9pbnRlciBhbGlnbmVkCiBDT01QSUxFX0FTU0VSVCgobWF4
RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgJSAxNikgPT0gMTYgLSBzaXplb2YoQ2FsbGVyRnJh
bWVBbmRQQyksIGV4dGVudF9tdXN0X2FsaWduX3N0YWNrX2Zyb21fY2FsbGZyYW1lX3BvaW50ZXIp
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2Fs
bFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9DYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyZDFiMDBjYmU4MTgxMjJmNmU3MjAyNzdjY2NmMjA2NmFiZjdlYWE2
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5o
CisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotbmFtZXNwYWNlIEpTQyB7Ci0K
LSNpZiBFTkFCTEUoSklUKQotLy8gVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBtYXAgZnJvbSBh
IGNhbGwgcmV0dXJuIGxvY2F0aW9uCi0vLyAoZ2l2ZW4gYXMgYW4gb2Zmc2V0IGluIGJ5dGVzIGlu
dG8gdGhlIEpJVCBjb2RlKSBiYWNrIHRvCi0vLyB0aGUgYnl0ZWNvZGUgaW5kZXggb2YgdGhlIGNv
cnJlc3BvbmRpbmcgYnl0ZWNvZGUgb3BlcmF0aW9uLgotLy8gVGhpcyBpcyB0aGVuIHVzZWQgdG8g
bG9vayB1cCB0aGUgY29ycmVzcG9uZGluZyBoYW5kbGVyLgotLy8gRklYTUU6IFRoaXMgc2hvdWxk
IGJlIG1hZGUgaW5saW5pbmcgYXdhcmUhIEN1cnJlbnRseSBpdCBpc24ndAotLy8gYmVjYXVzZSB3
ZSBuZXZlciBpbmxpbmUgY29kZSB0aGF0IGhhcyBleGNlcHRpb24gaGFuZGxlcnMuCi1zdHJ1Y3Qg
Q2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQgewotICAgIENhbGxSZXR1cm5PZmZzZXRU
b0J5dGVjb2RlT2Zmc2V0KHVuc2lnbmVkIGNhbGxSZXR1cm5PZmZzZXQsIHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0KQotICAgICAgICA6IGNhbGxSZXR1cm5PZmZzZXQoY2FsbFJldHVybk9mZnNldCkK
LSAgICAgICAgLCBieXRlY29kZU9mZnNldChieXRlY29kZU9mZnNldCkKLSAgICB7Ci0gICAgfQot
Ci0gICAgdW5zaWduZWQgY2FsbFJldHVybk9mZnNldDsKLSAgICB1bnNpZ25lZCBieXRlY29kZU9m
ZnNldDsKLX07Ci0KLWlubGluZSB1bnNpZ25lZCBnZXRDYWxsUmV0dXJuT2Zmc2V0KENhbGxSZXR1
cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0KiBwYykKLXsKLSAgICByZXR1cm4gcGMtPmNhbGxSZXR1
cm5PZmZzZXQ7Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDI3YWYwZmRlMmMwOGM1YTU0
ZmI4MTlkMWFjYzNiMTM0ZTc2MzE1ZTMuLjY1NGMxNDcxNzc4NGViZjk2MTlmMzViNDQ2NzU4YWU5
MDE0MDI0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
Y3BwCkBAIC04OSw3ICs4OSw3IEBACiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvVW5pcXVlZFN0cmluZ0ltcGwuaD4KIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICNpbmNsdWRlICJSZWdpc3RlckF0T2Zmc2V0TGlz
dC5oIgogI2VuZGlmCiAKQEAgLTUwOSw3ICs1MDksNyBAQCBib29sIENvZGVCbG9jazo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIFVubGlu
awogICAgIGlmIChzaXplX3Qgc2l6ZSA9IHVubGlua2VkQ29kZUJsb2NrLT5udW1iZXJPZk9iamVj
dEFsbG9jYXRpb25Qcm9maWxlcygpKQogICAgICAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxl
cyA9IFJlZkNvdW50ZWRBcnJheTxPYmplY3RBbGxvY2F0aW9uUHJvZmlsZT4oc2l6ZSk7CiAKLSNp
ZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogICAgIHNldENhbGxlZVNhdmVSZWdp
c3RlcnMoUmVnaXN0ZXJTZXQ6OmxsaW50QmFzZWxpbmVDYWxsZWVTYXZlUmVnaXN0ZXJzKCkpOwog
I2VuZGlmCiAKQEAgLTIxNDUsNyArMjE0NSw3IEBAIHVuc2lnbmVkIENvZGVCbG9jazo6cmVvcHRp
bWl6YXRpb25SZXRyeUNvdW50ZXIoKSBjb25zdAogI2VuZGlmIC8vIEVOQUJMRShKSVQpCiB9CiAK
LSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogdm9pZCBDb2RlQmxvY2s6OnNl
dENhbGxlZVNhdmVSZWdpc3RlcnMoUmVnaXN0ZXJTZXQgY2FsbGVlU2F2ZVJlZ2lzdGVycykKIHsK
ICAgICBtX2NhbGxlZVNhdmVSZWdpc3RlcnMgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlZ2lzdGVyQXRP
ZmZzZXRMaXN0PihjYWxsZWVTYXZlUmVnaXN0ZXJzKTsKQEAgLTIxNzIsNiArMjE3Miw5IEBAIHNp
emVfdCBDb2RlQmxvY2s6OmNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpCiB7CiAg
ICAgcmV0dXJuIHJvdW5kQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKG1fY2FsbGVl
U2F2ZVJlZ2lzdGVycy0+c2l6ZSgpKTsKIH0KKyNlbmRpZgorCisjaWYgRU5BQkxFKEpJVCkKIAog
dm9pZCBDb2RlQmxvY2s6OmNvdW50UmVvcHRpbWl6YXRpb24oKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IGEzYTNkMjYzOTAwZDMxMjJjMDllMjA0
ZjMyYjU3YjNlMTAxYTMyYjIuLjAxNDdkN2E3OWM4OWQ2MWY0MjNmZDRkZWRkM2NjYzZlMWU0MjM3
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTY0
NSwxMSArNjQ1LDIzIEBAIGNsYXNzIENvZGVCbG9jayA6IHB1YmxpYyBKU0NlbGwgewogICAgIC8v
IHRvIGF2b2lkIHRocmFzaGluZy4KICAgICBKU19FWFBPUlRfUFJJVkFURSB1bnNpZ25lZCByZW9w
dGltaXphdGlvblJldHJ5Q291bnRlcigpIGNvbnN0OwogICAgIHZvaWQgY291bnRSZW9wdGltaXph
dGlvbigpOwotI2lmIEVOQUJMRShKSVQpCisKKyNpZiAhRU5BQkxFKENfTE9PUCkKKyAgICB2b2lk
IHNldENhbGxlZVNhdmVSZWdpc3RlcnMoUmVnaXN0ZXJTZXQpOworICAgIHZvaWQgc2V0Q2FsbGVl
U2F2ZVJlZ2lzdGVycyhzdGQ6OnVuaXF1ZV9wdHI8UmVnaXN0ZXJBdE9mZnNldExpc3Q+KTsKKwor
ICAgIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBjYWxsZWVTYXZlUmVnaXN0ZXJzKCkgY29uc3QgeyBy
ZXR1cm4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJzLmdldCgpOyB9CisKICAgICBzdGF0aWMgdW5zaWdu
ZWQgbnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpIHsgcmV0dXJuIFJl
Z2lzdGVyU2V0OjpsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpLm51bWJlck9mU2V0
UmVnaXN0ZXJzKCk7IH0KICAgICBzdGF0aWMgc2l6ZV90IGxsaW50QmFzZWxpbmVDYWxsZWVTYXZl
U3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKTsKICAgICBzaXplX3QgY2FsbGVlU2F2ZVNwYWNlQXNW
aXJ0dWFsUmVnaXN0ZXJzKCk7CisjZWxzZQorICAgIHN0YXRpYyB1bnNpZ25lZCBudW1iZXJPZkxM
SW50QmFzZWxpbmVDYWxsZWVTYXZlUmVnaXN0ZXJzKCkgeyByZXR1cm4gMDsgfQorICAgIHN0YXRp
YyBzaXplX3QgbGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygp
IHsgcmV0dXJuIDA7IH07CisgICAgc2l6ZV90IGNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lz
dGVycygpIHsgcmV0dXJuIDA7IH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKEpJVCkKICAgICB1bnNp
Z25lZCBudW1iZXJPZkRGR0NvbXBpbGVzKCk7CiAKICAgICBpbnQzMl90IGNvZGVUeXBlVGhyZXNo
b2xkTXVsdGlwbGllcigpIGNvbnN0OwpAQCAtNzM5LDE0ICs3NTEsNyBAQCBjbGFzcyBDb2RlQmxv
Y2sgOiBwdWJsaWMgSlNDZWxsIHsKICAgICBib29sIHNob3VsZFJlb3B0aW1pemVOb3coKTsKICAg
ICBib29sIHNob3VsZFJlb3B0aW1pemVGcm9tTG9vcE5vdygpOwogCi0gICAgdm9pZCBzZXRDYWxs
ZWVTYXZlUmVnaXN0ZXJzKFJlZ2lzdGVyU2V0KTsKLSAgICB2b2lkIHNldENhbGxlZVNhdmVSZWdp
c3RlcnMoc3RkOjp1bmlxdWVfcHRyPFJlZ2lzdGVyQXRPZmZzZXRMaXN0Pik7Ci0gICAgCi0gICAg
UmVnaXN0ZXJBdE9mZnNldExpc3QqIGNhbGxlZVNhdmVSZWdpc3RlcnMoKSBjb25zdCB7IHJldHVy
biBtX2NhbGxlZVNhdmVSZWdpc3RlcnMuZ2V0KCk7IH0KICNlbHNlIC8vIE5vIEpJVAotICAgIHN0
YXRpYyB1bnNpZ25lZCBudW1iZXJPZkxMSW50QmFzZWxpbmVDYWxsZWVTYXZlUmVnaXN0ZXJzKCkg
eyByZXR1cm4gMDsgfQotICAgIHN0YXRpYyBzaXplX3QgbGxpbnRCYXNlbGluZUNhbGxlZVNhdmVT
cGFjZUFzVmlydHVhbFJlZ2lzdGVycygpIHsgcmV0dXJuIDA7IH07Ci0gICAgc2l6ZV90IGNhbGxl
ZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpIHsgcmV0dXJuIDA7IH0KICAgICB2b2lkIG9w
dGltaXplQWZ0ZXJXYXJtVXAoKSB7IH0KICAgICB1bnNpZ25lZCBudW1iZXJPZkRGR0NvbXBpbGVz
KCkgeyByZXR1cm4gMDsgfQogI2VuZGlmCkBAIC05NjUsOCArOTcwLDEwIEBAIGNsYXNzIENvZGVC
bG9jayA6IHB1YmxpYyBKU0NlbGwgewogICAgIFNlbnRpbmVsTGlua2VkTGlzdDxMTEludENhbGxM
aW5rSW5mbywgQmFzaWNSYXdTZW50aW5lbE5vZGU8TExJbnRDYWxsTGlua0luZm8+PiBtX2luY29t
aW5nTExJbnRDYWxsczsKICAgICBTdHJ1Y3R1cmVXYXRjaHBvaW50TWFwIG1fbGxpbnRHZXRCeUlk
V2F0Y2hwb2ludE1hcDsKICAgICBQb2lzb25lZFJlZlB0cjxDb2RlQmxvY2tQb2lzb24sIEpJVENv
ZGU+IG1faml0Q29kZTsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogICAg
IHN0ZDo6dW5pcXVlX3B0cjxSZWdpc3RlckF0T2Zmc2V0TGlzdD4gbV9jYWxsZWVTYXZlUmVnaXN0
ZXJzOworI2VuZGlmCisjaWYgRU5BQkxFKEpJVCkKICAgICBQb2lzb25lZEJhZzxDb2RlQmxvY2tQ
b2lzb24sIFN0cnVjdHVyZVN0dWJJbmZvPiBtX3N0dWJJbmZvczsKICAgICBQb2lzb25lZEJhZzxD
b2RlQmxvY2tQb2lzb24sIEpJVEFkZElDPiBtX2FkZElDczsKICAgICBQb2lzb25lZEJhZzxDb2Rl
QmxvY2tQb2lzb24sIEpJVE11bElDPiBtX211bElDczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9PcGNvZGUuaAppbmRleCA0ZWYyNzRmYWViMzRiMDFmOGVjYmM2ZDRkZjk1NDAxYzg5OTdk
YTM4Li5iZTM4OGUxODljOTM3NjZlNGUwZGZhYjEyMmJhNTE1YzYwMTQxNjdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCkBAIC01OCw3ICs1OCw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogI3VuZGVmIE9QQ09ERV9JRF9FTlVNCiAKIGNvbnN0IGludCBtYXhPcGNvZGVMZW5n
dGggPSA5OwotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBjb25zdCBpbnQg
bnVtT3Bjb2RlSURzID0gTlVNQkVSX09GX0JZVEVDT0RFX0lEUyArIE5VTUJFUl9PRl9DTE9PUF9C
WVRFQ09ERV9IRUxQRVJfSURTICsgTlVNQkVSX09GX0JZVEVDT0RFX0hFTFBFUl9JRFM7CiAjZWxz
ZQogY29uc3QgaW50IG51bU9wY29kZUlEcyA9IE5VTUJFUl9PRl9CWVRFQ09ERV9JRFMgKyBOVU1C
RVJfT0ZfQllURUNPREVfSEVMUEVSX0lEUzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hlYXAuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAK
aW5kZXggN2E0NmE1MmU3YTM3ODU0MDJiZjIxMzc3ZDA4NTQxYTRkNTdjZjBkMC4uY2M0YTMzNjUx
YTJmMTk2ZmNhZmIzMmFjYzBhNjAzZDk4ODgyM2YwOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
SGVhcC5jcHAKQEAgLTY3Miw3ICs2NzIsNyBAQCB2b2lkIEhlYXA6OmdhdGhlclN0YWNrUm9vdHMo
Q29uc2VydmF0aXZlUm9vdHMmIHJvb3RzKQogCiB2b2lkIEhlYXA6OmdhdGhlckpTU3RhY2tSb290
cyhDb25zZXJ2YXRpdmVSb290cyYgcm9vdHMpCiB7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKICAgICBtX3ZtLT5pbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLmdhdGhlckNv
bnNlcnZhdGl2ZVJvb3RzKHJvb3RzLCAqbV9qaXRTdHViUm91dGluZXMsICptX2NvZGVCbG9ja3Mp
OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ocm9vdHMpOwpAQCAtMTYwNSw5ICsxNjA1LDggQEAg
dm9pZCBIZWFwOjpzdG9wVGhlUGVyaXBoZXJ5KEdDQ29uZHVjdG9yIGNvbm4pCiAgICAgICAgICAg
ICAmJiBjb25uID09IEdDQ29uZHVjdG9yOjpDb2xsZWN0b3IpCiAgICAgICAgICAgICBzZXRHQ0Rp
ZEpJVCgpOwogICAgIH0KLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKGNvbm4pOwogI2VuZGlmIC8v
IEVOQUJMRShKSVQpCisgICAgVU5VU0VEX1BBUkFNKGNvbm4pOwogICAgIAogICAgIHZtKCktPnNo
YWRvd0NoaWNrZW4oKS51cGRhdGUoKnZtKCksIHZtKCktPnRvcENhbGxGcmFtZSk7CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5jcHAKaW5k
ZXggYWJjMTBhOGZlYWQyODYxNTE5NjliYTIyMzVjYjM0N2M3ZTYxZTg1Ny4uOWEyMDA3MjY2Mjg4
YjhhZGVlM2I4OTA1NGViNzI2MTI1NDU0MjdhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmNwcApAQCAtMjksNyArMjksNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNMb29wU3RhY2suaCIKIAotI2lmICFFTkFCTEUoSklU
KQorI2lmIEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJDTG9vcFN0YWNrSW5saW5lcy5oIgog
I2luY2x1ZGUgIkNvbnNlcnZhdGl2ZVJvb3RzLmgiCkBAIC0xNjMsNCArMTYzLDQgQEAgc2l6ZV90
IENMb29wU3RhY2s6OmNvbW1pdHRlZEJ5dGVDb3VudCgpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwog
Ci0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oCmluZGV4IDllNWRk
YTE0YjJiYjBkNGZjNzdmNWM3ZDY5OTRhN2JmMjc3MWYxYmIuLjFmNGQ5OWQ4YjQzNGU5YjQ3OWU0
ODM3YTI5ZGZkYzFiYzVjN2FiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DTG9vcFN0YWNrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0NMb29wU3RhY2suaApAQCAtMjgsNyArMjgsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJSZWdpc3Rl
ci5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtMTA3LDQgKzEwNyw0IEBAIG5h
bWVzcGFjZSBKU0MgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUo
SklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrSW5saW5lcy5oCmluZGV4IDk5N2ZhZjY2Y2Mz
Nzg4OGYxNmMyYTM1ZjBkYjUyMTM1NjNjZGMzZWUuLmY2YmExN2NjMTAwNzZjN2Y0NzlkOTVmNjZk
NWJkZWQyYmViNTVlMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9DTG9vcFN0YWNrSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9DTG9vcFN0YWNrSW5saW5lcy5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2luY2x1ZGUg
IkNMb29wU3RhY2suaCIKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKQEAgLTU5LDQgKzU5LDQgQEAg
aW5saW5lIHZvaWQgQ0xvb3BTdGFjazo6c2V0Q0xvb3BTdGFja0xpbWl0KFJlZ2lzdGVyKiBuZXdU
b3BPZlN0YWNrKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklU
KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0VudHJ5RnJhbWUuaAppbmRleCBiZTg0MjU5MGY2ZTkwY2NkYTYxNDhmYzYwZDAx
YmIyNjdjNGE0Yzg2Li45NTA5NThkOTM2NWI4YTU1ZDU1YjI5Njg5Nzg2YWZjMDM0M2Q4ZTc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9FbnRyeUZyYW1lLmgKQEAg
LTMxLDcgKzMxLDcgQEAKIG5hbWVzcGFjZSBKU0MgewogCiBzdHJ1Y3QgRW50cnlGcmFtZSB7Ci0j
aWYgRU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCisj
aWYgIUVOQUJMRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4g
MAogICAgIHN0YXRpYyBwdHJkaWZmX3Qgdm1FbnRyeVJlY29yZE9mZnNldCgpCiAgICAgewogICAg
ICAgICBFbnRyeUZyYW1lKiBmYWtlRW50cnlGcmFtZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RW50cnlG
cmFtZSo+KDB4MTAwMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcAppbmRleCA3MTI2ZDAyOWY2MjIzYjJlYTIwMDI2YTkyNjVkZDk1MmVi
NDA1MjU1Li5iYmM2OWRiNjliMWU3Zjk4NDRjMjc4MTQ2OTJlMGIwZGYzZmRkN2ZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAg
LTY3LDYgKzY3LDcgQEAKICNpbmNsdWRlICJQcm90b0NhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlJl
Z0V4cE9iamVjdC5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCisjaW5jbHVkZSAiUmVnaXN0ZXJB
dE9mZnNldExpc3QuaCIKICNpbmNsdWRlICJTY29wZWRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJT
dGFja0FsaWdubWVudC5oIgogI2luY2x1ZGUgIlN0YWNrRnJhbWUuaCIKQEAgLTMzMiw3ICszMzMs
NyBAQCB2b2lkIHNldHVwRm9yd2FyZEFyZ3VtZW50c0ZyYW1lQW5kU2V0VGhpcyhDYWxsRnJhbWUq
IGV4ZWNDYWxsZXIsIENhbGxGcmFtZSogZXhlYwogCiBJbnRlcnByZXRlcjo6SW50ZXJwcmV0ZXIo
Vk0mIHZtKQogICAgIDogbV92bSh2bSkKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19M
T09QKQogICAgICwgbV9jbG9vcFN0YWNrKHZtKQogI2VuZGlmCiB7CkBAIC01NjMsNyArNTY0LDcg
QEAgY2xhc3MgVW53aW5kRnVuY3RvciB7CiBwcml2YXRlOgogICAgIHZvaWQgY29weUNhbGxlZVNh
dmVzVG9FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIoU3RhY2tWaXNpdG9yJiB2aXNpdG9yKSBj
b25zdAogICAgIHsKLSNpZiBFTkFCTEUoSklUKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JF
R0lTVEVSUyA+IDAKKyNpZiAhRU5BQkxFKENfTE9PUCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZF
U19SRUdJU1RFUlMgPiAwCiAgICAgICAgIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBjdXJyZW50Q2Fs
bGVlU2F2ZXMgPSB2aXNpdG9yLT5jYWxsZWVTYXZlUmVnaXN0ZXJzKCk7CiAKICAgICAgICAgaWYg
KCFjdXJyZW50Q2FsbGVlU2F2ZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5oCmluZGV4IDA4ZDY1YmE1YmFlMzc2MDE2ZmE0NzEyOTI4YmM0ZmJh
ZWQ0MjU1ZmUuLjgxMTc1MDY2MjMyOGE2ODdmMWM3NjllZWIxMjY1NzFhMTMyMzdjY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0z
Niw3ICszNiw3IEBACiAjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICNpbmNs
dWRlICJDTG9vcFN0YWNrLmgiCiAjZW5kaWYKIApAQCAtOTMsNyArOTMsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgSW50ZXJwcmV0ZXIoVk0gJik7CiAgICAgICAgIH5JbnRlcnByZXRlcigp
OwogICAgICAgICAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgICAg
ICBDTG9vcFN0YWNrJiBjbG9vcFN0YWNrKCkgeyByZXR1cm4gbV9jbG9vcFN0YWNrOyB9CiAjZW5k
aWYKICAgICAgICAgCkBAIC0xNDcsNyArMTQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IEpTVmFsdWUgZXhlY3V0ZShDYWxsRnJhbWVDbG9zdXJlJik7CiAKICAgICAgICAgVk0mIG1fdm07
Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICAgICAgQ0xvb3BTdGFj
ayBtX2Nsb29wU3RhY2s7CiAjZW5kaWYKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCmluZGV4IDYwOTExYWIxZTU3YzFk
NTEyMzdkOWNjN2Y2YTA5NjVlZWIyN2E2MjQuLjJlOGM5YTYyYjI2YWNiMDQzZWZlNGJiNmZkMGU0
N2U2NTBmMzE2NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9TdGFja1Zpc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9TdGFja1Zpc2l0b3IuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgUmVnaXN0ZXJBdE9mZnNldExp
c3QqIFN0YWNrVmlzaXRvcjo6RnJhbWU6OmNhbGxlZVNhdmVSZWdpc3RlcnMoKQogICAgIGlmIChp
c0lubGluZWRGcmFtZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotI2lmIEVOQUJMRShK
SVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAorI2lmICFFTkFCTEUo
Q19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKIAogI2lmIEVO
QUJMRShXRUJBU1NFTUJMWSkKICAgICBpZiAoaXNXYXNtRnJhbWUoKSkgewpAQCAtMjczLDcgKzI3
Myw3IEBAIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBTdGFja1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVT
YXZlUmVnaXN0ZXJzKCkKICAgICBpZiAoQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSB0aGlzLT5jb2Rl
QmxvY2soKSkKICAgICAgICAgcmV0dXJuIGNvZGVCbG9jay0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygp
OwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJ
U1RFUlMgPiAwCisjZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVf
U0FWRVNfUkVHSVNURVJTID4gMAogCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvVk1FbnRyeVJlY29yZC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZNRW50cnlSZWNvcmQuaAppbmRleCBlZGI3
ZTdlOGM4YmJjMjk4NWQxYzQxNWNhNDVlOWY1MGVmYzZjNmQwLi4yMWFlMzViNjkxZGMzZWRlYTlm
YTdmMGQ3ZGFiNTlkN2MyNmNhZWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvVk1FbnRyeVJlY29yZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9WTUVudHJ5UmVjb3JkLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RydWN0IFZNRW50
cnlSZWNvcmQgewogCiAgICAgSlNPYmplY3QqIGNhbGxlZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2Fs
bGVlOyB9CiAKLSNpZiBFTkFCTEUoSklUKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lT
VEVSUyA+IDAKKyNpZiAhRU5BQkxFKENfTE9PUCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19S
RUdJU1RFUlMgPiAwCiAgICAgaW50cHRyX3QgY2FsbGVlU2F2ZVJlZ2lzdGVyc0J1ZmZlcltOVU1C
RVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSU107CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAppbmRleCAxOGJkZTQxY2U0ZjE0
ODkzOTJkNTllZTI2Y2IyM2MyZjI0NGIyODQ3Li4wNzdlZDU4MmVhOTQ4YTQxNDFkZGFlMjc3ZDBi
NDRlZDQzNTA3ZmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1
dGFibGVBbGxvY2F0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFi
bGVBbGxvY2F0b3IuaApAQCAtMTQ1LDcgKzE0NSw3IEBAIGNsYXNzIEV4ZWN1dGFibGVBbGxvY2F0
b3IgewogCiAjZWxzZQogaW5saW5lIGJvb2wgaXNKSVRQQyh2b2lkKikgeyByZXR1cm4gZmFsc2U7
IH0KLSNlbmRpZiAvLyBFTkFCTEUoSklUKSAmJiBFTkFCTEUoQVNTRU1CTEVSKQorI2VuZGlmIC8v
IEVOQUJMRShBU1NFTUJMRVIpCiAKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvRlBSSW5mby5oCmluZGV4IGEyNGQxY2I3NWEzZmY5OWI2Mzg5NWViYmQxNzlhZTYxNDJk
YTU2ZWMuLjQ4ZjQwMjJlZGUzYTdiMjc4YjhlYjUxYzZmZThhM2Q3YzIxNzJiNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRlBSSW5mby5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRlBSSW5mby5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogdHlwZWRlZiBNYWNyb0Fzc2VtYmxlcjo6RlBSZWdpc3RlcklEIEZQUlJlZzsKIHN0YXRpYyBj
b25zdGV4cHIgRlBSUmVnIEludmFsaWRGUFJSZWcgeyBGUFJSZWc6OkludmFsaWRGUFJSZWcgfTsK
IAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2lmIENQVShYODYp
IHx8IENQVShYODZfNjQpCiAKQEAgLTMzMiw3ICszMzIsNyBAQCBjbGFzcyBGUFJJbmZvIHsKIC8v
IFdlIHVzZSB0aGlzIGhhY2sgdG8gZ2V0IHRoZSBGUFJJbmZvIGZyb20gdGhlIEZQUlJlZyB0eXBl
IGluIHRlbXBsYXRlcyBiZWNhdXNlIG91ciBjb2RlIGlzIGJhZCBhbmQgd2Ugc2hvdWxkIGZlZWwg
YmFkLi4KIGNvbnN0ZXhwciBGUFJJbmZvIHRvSW5mb0Zyb21SZWcoRlBSUmVnKSB7IHJldHVybiBG
UFJJbmZvKCk7IH0KIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFT
U0VNQkxFUikKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKQEAgLTM0MCw3ICszNDAsNyBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYgb3V0
LCBKU0M6OkZQUlJlZyByZWcpCiB7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1C
TEVSKQogICAgIG91dC5wcmludCgiJSIsIEpTQzo6RlBSSW5mbzo6ZGVidWdOYW1lKHJlZykpOwog
I2Vsc2UKICAgICBvdXQucHJpbnRmKCIlJWZyJWQiLCByZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvR1BSSW5mby5jcHAKaW5kZXggNWE4MDA1ZjliODVkMWMwY2Y5OGUwYzMwM2ZlOTFhYTUxNmQ1
OTkyZi4uYWY4ZTM1ODA3NGNkNDUzMzhkNDY1NDkxYTUyZTAyMWE4NzA3YmZlYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0dQUkluZm8uY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiR1BSSW5mby5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBF
TkFCTEUoQVNTRU1CTEVSKQogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDgsNCArNDgsNCBAQCBj
b25zdCBHUFJSZWcgR1BSSW5mbzo6cGF0Y2hwb2ludFNjcmF0Y2hSZWdpc3RlciA9IEFSTTY0UmVn
aXN0ZXJzOjppcDA7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJ
VCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9HUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUklu
Zm8uaAppbmRleCAyZDM3NGUzYjg1OWQzZGFjNzZmYjhmNGRmYzA4YTEwZjEzMDBlODc0Li44MDU0
NDlmN2IxNTdmMjEzNGE3MWQzZDk4YWYzOGU2OTkxZmY3NDY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0dQUkluZm8uaApAQCAtNDEsNyArNDEsNyBAQCBlbnVtIE5vUmVzdWx0VGFnIHsgTm9SZXN1
bHQgfTsKIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgR1BSUmVnOwogc3RhdGlj
IGNvbnN0ZXhwciBHUFJSZWcgSW52YWxpZEdQUlJlZyB7IEdQUlJlZzo6SW52YWxpZEdQUlJlZyB9
OwogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaWYgVVNFKEpT
VkFMVUU2NCkKIGNsYXNzIEpTVmFsdWVSZWdzIHsKQEAgLTgxNiw3ICs4MTYsNyBAQCBpbmxpbmUg
Tm9SZXN1bHRUYWcgZXh0cmFjdFJlc3VsdChOb1Jlc3VsdFRhZykgeyByZXR1cm4gTm9SZXN1bHQ7
IH0KIC8vIFdlIHVzZSB0aGlzIGhhY2sgdG8gZ2V0IHRoZSBHUFJJbmZvIGZyb20gdGhlIEdQUlJl
ZyB0eXBlIGluIHRlbXBsYXRlcyBiZWNhdXNlIG91ciBjb2RlIGlzIGJhZCBhbmQgd2Ugc2hvdWxk
IGZlZWwgYmFkLi4KIGNvbnN0ZXhwciBHUFJJbmZvIHRvSW5mb0Zyb21SZWcoR1BSUmVnKSB7IHJl
dHVybiBHUFJJbmZvKCk7IH0KIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5B
QkxFKEFTU0VNQkxFUikKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKQEAgLTgyNCw3ICs4MjQsNyBA
QCBuYW1lc3BhY2UgV1RGIHsKIAogaW5saW5lIHZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVh
bSYgb3V0LCBKU0M6OkdQUlJlZyByZWcpCiB7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUo
QVNTRU1CTEVSKQogICAgIG91dC5wcmludCgiJSIsIEpTQzo6R1BSSW5mbzo6ZGVidWdOYW1lKHJl
ZykpOwogI2Vsc2UKICAgICBvdXQucHJpbnRmKCIlJXIlZCIsIHJlZyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcAppbmRleCBlOGQwMTkx
NmI5YzU5MDQ3OTVjY2M1ZGI2YzRlNmNlODM2MTExMzAyLi4xMzc1YmI5MmNjMGRlYmJjYjdlYWVl
MDI1OGRiMTBmMmZiZDk1ODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0hvc3RDYWxsUmV0dXJuVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SG9zdENhbGxSZXR1cm5WYWx1ZS5jcHAKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAKKyNpZiAhRU5BQkxFKENf
TE9PUCkKKwogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKQEAgLTM1LDcgKzM3LDEwOSBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotLy8gTm90aGluZyB0byBzZWUgaGVyZS4KKy8vIE5vdGU6IGdldEhvc3RD
YWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKCkgbmVlZHMgdG8gYmUgcGxhY2VkIGJlZm9yZSB0
aGUKKy8vIGRlZmluaXRpb24gb2YgZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSgpIGJlbG93IGJlY2F1
c2UgdGhlIFdpbmRvd3MgYnVpbGQKKy8vIHJlcXVpcmVzIGl0LgorZXh0ZXJuICJDIiBFbmNvZGVk
SlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZh
bHVlV2l0aEV4ZWNTdGF0ZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgaWYgKCFleGVjKQorICAg
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShleGVjLT52bSgpLmhvc3RDYWxsUmV0dXJuVmFsdWUpOworfQorCisjaWYgQ09N
UElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2XzY0KQorYXNtICgKKyIuZ2xvYmwgIiBTWU1C
T0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK0hJREVfU1lNQk9MKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSkgIjoiICJcbiIKKyAgICAibGVhIC04KCVyc3ApLCAlcmRpXG4iCisgICAgImptcCAiIExP
Q0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgor
KTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2KQorYXNtICgKKyIu
dGV4dCIgIlxuIiBcCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZh
bHVlKSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitTWU1C
T0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCisgICAgInB1c2ggJWVi
cFxuIgorICAgICJtb3YgJWVzcCwgJWVheFxuIgorICAgICJsZWFsIC00KCVlc3ApLCAlZXNwXG4i
CisgICAgInB1c2ggJWVheFxuIgorICAgICJjYWxsICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RD
YWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCisgICAgImxlYWwgOCglZXNwKSwgJWVz
cFxuIgorICAgICJwb3AgJWVicFxuIgorICAgICJyZXRcbiIKKyk7CisKKyNlbGlmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9USFVNQjIpCithc20gKAorIi50ZXh0IiAiXG4iCisi
LmFsaWduIDIiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICJcbiIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKKyIu
dGh1bWIiICJcbiIKKyIudGh1bWJfZnVuYyAiIFRIVU1CX0ZVTkNfUEFSQU0oZ2V0SG9zdENhbGxS
ZXR1cm5WYWx1ZSkgIlxuIgorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
OiIgIlxuIgorICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJF
TkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxp
ZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShBUk1fVFJBRElUSU9OQUwpCithc20gKAor
Ii50ZXh0IiAiXG4iCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZh
bHVlKSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitJTkxJ
TkVfQVJNX0ZVTkNUSU9OKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCitTWU1CT0xfU1RSSU5HKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCisgICAgInN1YiByMCwgc3AsICM4IiAiXG4i
CisgICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVj
U3RhdGUpICJcbiIKKyk7CisKKyNlbGlmIENQVShBUk02NCkKK2FzbSAoCisiLnRleHQiICJcbiIK
KyIuYWxpZ24gMiIgIlxuIgorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1
cm5WYWx1ZSkgIlxuIgorSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgor
U1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgorICAgICAic3Vi
IHgwLCBzcCwgIzE2IiAiXG4iCisgICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxs
UmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxpZiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpICYmIENQVShNSVBTKQorCisjaWYgV1RGX01JUFNfUElDCisjZGVmaW5lIExPQURf
RlVOQ1RJT05fVE9fVDkoZnVuY3Rpb24pIFwKKyAgICAgICAgIi5zZXQgbm9yZW9yZGVyIiAiXG4i
IFwKKyAgICAgICAgIi5jcGxvYWQgJDI1IiAiXG4iIFwKKyAgICAgICAgIi5zZXQgcmVvcmRlciIg
IlxuIiBcCisgICAgICAgICJsYSAkdDksICIgTE9DQUxfUkVGRVJFTkNFKGZ1bmN0aW9uKSAiXG4i
CisjZWxzZQorI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0aW9uKSAiIiAiXG4iCisj
ZW5kaWYKKworYXNtICgKKyIudGV4dCIgIlxuIgorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0
SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSkgIlxuIgorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxu
IgorICAgIExPQURfRlVOQ1RJT05fVE9fVDkoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVj
U3RhdGUpCisgICAgImFkZGkgJGEwLCAkc3AsIC04IiAiXG4iCisgICAgImIgIiBMT0NBTF9SRUZF
UkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKKyk7CisKKyNl
bGlmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODYpCitleHRlcm4gIkMiIHsKKyAgICBfX2RlY2xz
cGVjKG5ha2VkKSBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkKKyAgICB7CisgICAgICAgIF9fYXNtIGxlYSBlYXgsIFtl
c3AgLSA0XQorICAgICAgICBfX2FzbSBtb3YgW2VzcCArIDRdLCBlYXg7CisgICAgICAgIF9fYXNt
IGptcCBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZQorICAgIH0KK30KKyNlbmRp
ZgogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuaAppbmRleCA2
MmViMmE1NjZiOTgxMDIwMjc3MjNhMjcyNmFlZjQ3MjZhZWJkNmNlLi5kMjExZDE0ZDg2OTRjZTA1
ZDk4YjRkMzYwMzRjZGM2ZmI5MTI0NzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAi
SlNDSlNWYWx1ZS5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIAog
I2lmIENBTExJTkdfQ09OVkVOVElPTl9JU19TVERDQUxMCiAjZGVmaW5lIEhPU1RfQ0FMTF9SRVRV
Uk5fVkFMVUVfT1BUSU9OIENERUNMCkBAIC01Nyw0ICs1Nyw0IEBAIGlubGluZSB2b2lkIGluaXRp
YWxpemVIb3N0Q2FsbFJldHVyblZhbHVlKCkgeyB9CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0j
ZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyAhRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IGIyZWI0MThjZmY4OWQ1
MjMwMjJhNjFhZGIwYjhiZTRmNjg4MDJlNjIuLjdhYWNmNmIxYzE2ZjkyMTVhMmQ4NjU4NjZmM2Qy
YzNhODkxZDRlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcApAQCAtMjkwOCwxMDkgKzI5MDgsNiBAQCBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uQ2hlY2tJZkV4Y2VwdGlvbklzVW5jYXRjaGFibGVBbmROb3RpZnlQcm9maWxlcihFeAogCiB9
IC8vIGV4dGVybiAiQyIKIAotLy8gTm90ZTogZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVj
U3RhdGUoKSBuZWVkcyB0byBiZSBwbGFjZWQgYmVmb3JlIHRoZQotLy8gZGVmaW5pdGlvbiBvZiBn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkgYmVsb3cgYmVjYXVzZSB0aGUgV2luZG93cyBidWlsZAot
Ly8gcmVxdWlyZXMgaXQuCi1leHRlcm4gIkMiIEVuY29kZWRKU1ZhbHVlIEhPU1RfQ0FMTF9SRVRV
Uk5fVkFMVUVfT1BUSU9OIGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKEV4ZWNT
dGF0ZSogZXhlYykKLXsKLSAgICBpZiAoIWV4ZWMpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoSlNWYWx1ZSgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGV4ZWMtPnZtKCku
aG9zdENhbGxSZXR1cm5WYWx1ZSk7Ci19Ci0KLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYm
IENQVShYODZfNjQpCi1hc20gKAotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxS
ZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxu
IgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAgICJs
ZWEgLTgoJXJzcCksICVyZGlcbiIKLSAgICAiam1wICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RD
YWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0pOwotCi0jZWxpZiBDT01QSUxFUihH
Q0NfT1JfQ0xBTkcpICYmIENQVShYODYpCi1hc20gKAotIi50ZXh0IiAiXG4iIFwKLSIuZ2xvYmwg
IiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9M
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLVNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxS
ZXR1cm5WYWx1ZSkgIjoiICJcbiIKLSAgICAicHVzaCAlZWJwXG4iCi0gICAgIm1vdiAlZXNwLCAl
ZWF4XG4iCi0gICAgImxlYWwgLTQoJWVzcCksICVlc3BcbiIKLSAgICAicHVzaCAlZWF4XG4iCi0g
ICAgImNhbGwgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVj
U3RhdGUpICJcbiIKLSAgICAibGVhbCA4KCVlc3ApLCAlZXNwXG4iCi0gICAgInBvcCAlZWJwXG4i
Ci0gICAgInJldFxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUo
QVJNX1RIVU1CMikKLWFzbSAoCi0iLnRleHQiICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotIi5nbG9i
bCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1C
T0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotIi50aHVtYiIgIlxuIgotIi50aHVtYl9m
dW5jICIgVEhVTUJfRlVOQ19QQVJBTShnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1TWU1C
T0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgInN1YiByMCwg
c3AsICM4IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFO
RykgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkKLWFzbSAoCi0iLnRleHQiICJcbiIKLSIuZ2xvYmwg
IiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9M
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUlOTElORV9BUk1fRlVOQ1RJT04oZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSkKLVNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkg
IjoiICJcbiIKLSAgICAic3ViIHIwLCBzcCwgIzgiICJcbiIKLSAgICAiYiAiIExPQ0FMX1JFRkVS
RU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgotKTsKLQotI2Vs
aWYgQ1BVKEFSTTY0KQotYXNtICgKLSIudGV4dCIgIlxuIgotIi5hbGlnbiAyIiAiXG4iCi0iLmds
b2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZ
TUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1TWU1CT0xfU1RSSU5HKGdldEhvc3RD
YWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgICJzdWIgeDAsIHNwLCAjMTYiICJcbiIKLSAg
ICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3Rh
dGUpICJcbiIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKE1JUFMp
Ci0KLSNpZiBXVEZfTUlQU19QSUMKLSNkZWZpbmUgTE9BRF9GVU5DVElPTl9UT19UOShmdW5jdGlv
bikgXAotICAgICAgICAiLnNldCBub3Jlb3JkZXIiICJcbiIgXAotICAgICAgICAiLmNwbG9hZCAk
MjUiICJcbiIgXAotICAgICAgICAiLnNldCByZW9yZGVyIiAiXG4iIFwKLSAgICAgICAgImxhICR0
OSwgIiBMT0NBTF9SRUZFUkVOQ0UoZnVuY3Rpb24pICJcbiIKLSNlbHNlCi0jZGVmaW5lIExPQURf
RlVOQ1RJT05fVE9fVDkoZnVuY3Rpb24pICIiICJcbiIKLSNlbmRpZgotCi1hc20gKAotIi50ZXh0
IiAiXG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
XG4iCi1ISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1TWU1CT0xfU1RS
SU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgTE9BRF9GVU5DVElPTl9U
T19UOShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkKLSAgICAiYWRkaSAkYTAs
ICRzcCwgLTgiICJcbiIKLSAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVy
blZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoTVNWQykgJiYg
Q1BVKFg4NikKLWV4dGVybiAiQyIgewotICAgIF9fZGVjbHNwZWMobmFrZWQpIEVuY29kZWRKU1Zh
bHVlIEhPU1RfQ0FMTF9SRVRVUk5fVkFMVUVfT1BUSU9OIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUo
KQotICAgIHsKLSAgICAgICAgX19hc20gbGVhIGVheCwgW2VzcCAtIDRdCi0gICAgICAgIF9fYXNt
IG1vdiBbZXNwICsgNF0sIGVheDsKLSAgICAgICAgX19hc20gam1wIGdldEhvc3RDYWxsUmV0dXJu
VmFsdWVXaXRoRXhlY1N0YXRlCi0gICAgfQotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIEpT
QwogCiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9uc01TVkM2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwCmluZGV4IDU0NGJjYTM5NDZjMTk0NWVjMDAzYjJj
MGQ1MzFlNjA3NWU5MjNjODQuLjBhMzdiZjc2YzFmMjZlOTMwYmI4ZjY2ZmYxZmZlNGU1OGM4NjYy
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9uc01T
VkM2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zTVNW
QzY0LmNwcApAQCAtMjUsNyArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiAh
RU5BQkxFKEpJVCkgJiYgQ09NUElMRVIoTVNWQykgJiYgQ1BVKFg4Nl82NCkKKyNpZiBFTkFCTEUo
Q19MT09QKSAmJiBDT01QSUxFUihNU1ZDKSAmJiBDUFUoWDg2XzY0KQogCiAjaW5jbHVkZSAiQ2Fs
bEZyYW1lLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtNDMsNCArNDMsNCBAQCBleHRl
cm4gIkMiIEVuY29kZWRKU1ZhbHVlIGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KEV4ZWNTdGF0ZSopCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gIUVOQUJMRShK
SVQpICYmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODZfNjQpCisjZW5kaWYgLy8gRU5BQkxFKENf
TE9PUCkgJiYgQ09NUElMRVIoTVNWQykgJiYgQ1BVKFg4Nl82NCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnLmNwcAppbmRleCA0YWE5NjUzNzQ3NDE4NGIxMTM0MDFhZTBjY2Q5NDgxZTIyNzUxMDRiLi4z
Y2M0OWMwM2Q4Njg4OWQ0YzRjZGEwZTdlMzdlMmI5YWEyNDAxYmZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZWcuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiUmVnLmgiCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAK
ICNpbmNsdWRlICJGUFJJbmZvLmgiCiAjaW5jbHVkZSAiR1BSSW5mby5oIgpAQCAtNTQsNSArNTQs
NSBAQCB2b2lkIFJlZzo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VN
QkxFUikKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWcuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKaW5kZXggODRhZTM1OTA0NzY4Y2ZhMWZlMGQy
N2FjNWVlNTYwNjUzZDc4OGIwNy4uOWQyNDZhZGU1YmM3MTA1MDBiN2Y3MTczOTZkMTIxN2IzZWQy
MGY1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWcuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5j
bHVkZSAiTWFjcm9Bc3NlbWJsZXIuaCIKIApAQCAtMjQ1LDQgKzI0NSw0IEBAIHRlbXBsYXRlPD4g
c3RydWN0IEhhc2hUcmFpdHM8SlNDOjpSZWc+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPEpTQzo6
UmVnPiB7CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNl
bmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnaXN0ZXJBdE9mZnNldC5jcHAKaW5kZXggMTZhNjM5Y2E4Yzc5NjI2MGVmMzU3NjA1NjE5NDc3
NTllMWVlMjU4ZS4uMGU0NGUyZGIxMWU4MDVkMDQzZTMwZGNmMTQyODk1ZWEwYzhhNWQ3NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuY3BwCkBAIC0y
Niw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXJBdE9m
ZnNldC5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiBuYW1l
c3BhY2UgSlNDIHsKIApAQCAtNDEsNSArNDEsNSBAQCB2b2lkIFJlZ2lzdGVyQXRPZmZzZXQ6OmR1
bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmgKaW5kZXggMGRiOGRhNGE3MjYx
YjhiOGI3MDBjMTAzZmIzNTJiOGU1YWUyYjJmMy4uY2Q0MTViNmQ2NjlmOTM5ZmYxZDM1Y2YzMWM3
Y2Q3YjRhMjBlOTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdp
c3RlckF0T2Zmc2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0
T2Zmc2V0LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUo
SklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNsdWRlICJSZWcuaCIKICNpbmNsdWRl
IDx3dGYvUHJpbnRTdHJlYW0uaD4KQEAgLTc0LDQgKzc0LDQgQEAgY2xhc3MgUmVnaXN0ZXJBdE9m
ZnNldCB7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNl
bmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmNwcAppbmRleCBkZDViNWIzMmYzN2FkMGRkYmEzYzcz
YmE1OGE1MDc2ZDNlMjk5NDQ4Li42ZmUwNmU3NzYyYjRhNDc5ZGQwNTE0Njg2MGFhZTliNGRkMWEz
ZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZz
ZXRMaXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZz
ZXRMaXN0LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlJlZ2lzdGVyQXRPZmZzZXRMaXN0LmgiCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJM
RShBU1NFTUJMRVIpCiAKICNpbmNsdWRlIDx3dGYvTGlzdER1bXAuaD4KIApAQCAtNjgsNSArNjgs
NSBAQCB1bnNpZ25lZCBSZWdpc3RlckF0T2Zmc2V0TGlzdDo6aW5kZXhPZihSZWcgcmVnKSBjb25z
dAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYg
Ly8gRU5BQkxFKEFTU0VNQkxFUikKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlckF0T2Zmc2V0TGlzdC5oCmluZGV4IGUwYjI1NDFhYjhkYzkyM2ZmNzFlZDQ4ODc2NDUw
NjA3NWMzYjllM2MuLjVlM2EzY2IyY2UwMjkzNDExOTU3ZjY4OTkzMzlkNjc3ZjRhOWY0NTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldExpc3Qu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmgK
QEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNsdWRlICJSZWdpc3RlckF0T2Zmc2V0LmgiCiAjaW5j
bHVkZSAiUmVnaXN0ZXJTZXQuaCIKQEAgLTY5LDQgKzY5LDQgQEAgY2xhc3MgUmVnaXN0ZXJBdE9m
ZnNldExpc3QgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQp
CisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVnaXN0ZXJNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVn
aXN0ZXJNYXAuaAppbmRleCAwZjNmOTU3NGYxZjk1ZTZlMDJmOGJhNDcxNDEwM2Y4ZGIxODJkZDVi
Li41YTc3OTc3Y2FhOTEyYTA5NWVkYjY4YzcwMjQ1NGQ5YWYxOGJhMDJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyTWFwLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZWdpc3Rlck1hcC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVk
ZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKQEAgLTEwNyw0ICsxMDcsNCBAQCBj
bGFzcyBGUFJNYXAgewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShK
SVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3RlclNldC5jcHAKaW5kZXggODUyNTZmN2IxNDYyNTk5YWVhZWM2N2Q5ZTA3ODQyZGU0
YzYxNWMxOC4uYTYwMjE0MWFhODY2MWRkYWJlOTAxYjJmNDI0NDljZWQzOWZlZTU2MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZWdpc3RlclNldC5oIgogCi0jaWYgRU5B
QkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiR1BSSW5mby5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKQEAgLTM5NSw1ICszOTUsNSBAQCB2b2lkIFJlZ2lzdGVy
U2V0OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwog
Ci0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKaW5kZXggYzg3ZWFmOGMzYjUzYmNj
OGYzMGMxY2FlODk3ODYwM2Q0ZGMwZGMyNS4uYTYxODg1MjllZGQwY2U1MWZmZWQxMWE2MjBiMzhj
MDdlNGUwMTE4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3Rl
clNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaApAQCAt
MjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVO
QUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJHUFJJbmZvLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3Nl
bWJsZXIuaCIKQEAgLTI0Niw0ICsyNDYsNCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRz
PEpTQzo6UmVnaXN0ZXJTZXQ+IDogcHVibGljIEN1c3RvbUhhc2hUcmFpdHM8SlNDOjpSZQogCiB9
IC8vIG5hbWVzcGFjZSBXVEYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIUVO
QUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBS
ZWdpc3RlclNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNl
dC5jcHAKaW5kZXggOWMyZTczZDQzMmI2Y2E2ZGJhYTU2YmIwNWU4YTliN2YyODQ4MmZkNS4uM2Yz
NTIxZWEyNjE1NmE3ZDBjMWI0YzJmY2M1YmMwYmFmZjM0MDZmZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmNwcApAQCAtMjYsOSArMjYsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRlbXBSZWdpc3RlclNldC5oIgogCi0jaWYgRU5B
QkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCi0jaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgogI2luY2x1ZGUgIlJlZ2lzdGVyU2V0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNTEsNCAr
NTAsNCBAQCBUZW1wUmVnaXN0ZXJTZXQ6OlRlbXBSZWdpc3RlclNldChjb25zdCBSZWdpc3RlclNl
dCYgb3RoZXIpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkK
KyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
VGVtcFJlZ2lzdGVyU2V0LmgKaW5kZXggOTk4MzIyOWVmYWZjNDNmZTkxNzI1NmM4N2RkY2VlOWIw
ODI1ZmRmNS4uNjYzODNmNTlmODg1NjJhYmNiYjBmOTU2OWE0MTUzMDAzZDgxYjcxYiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5oCkBAIC0yNSw3ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1C
TEVSKQogCiAjaW5jbHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKQEAgLTIw
NSw3ICsyMDUsNyBAQCBjbGFzcyBUZW1wUmVnaXN0ZXJTZXQgewogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKIAotI2Vsc2UgLy8gRU5BQkxFKEpJVCkgLT4gc28gaWYgSklUIGlzIGRpc2FibGVkCisjZWxz
ZSAvLyBFTkFCTEUoQVNTRU1CTEVSKSAtPiBzbyBpZiBKSVQgaXMgZGlzYWJsZWQKIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTIxNiw0ICsyMTYsNCBAQCBzdHJ1Y3QgVGVtcFJlZ2lzdGVyU2V0IHsg
fTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlm
IC8vIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRDTG9vcC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRD
TG9vcC5jcHAKaW5kZXggZTNjNmM2Y2U5N2U1ZmRhNzA4OTg5Yjc4MWVkMzc2MjVmMDk3YmNjOS4u
Yzg0YjE4OWNmMmNkZjhkNGQ1MjEwMTJmMTE0NmI5OTg4ZjRlZmQzZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludENMb29wLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxMSW50Q0xvb3AuaCIKIAotI2lmICFFTkFCTEUoSklU
KQorI2lmIEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJMTEludERhdGEuaCIKIApAQCAtNDEs
NCArNDEsNCBAQCB2b2lkIENMb29wOjppbml0aWFsaXplKCkKIH0gLy8gbmFtZXNwYWNlIExMSW50
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8v
IEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRDTG9vcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuaApp
bmRleCBhMzE1OTE0NTUxZmIwZDhjYzYxMmJlY2RkYzQ4ZjlmY2NhY2MwNWUyLi4wMmIyZjI0ZGNi
MDFjN2VmOWRkYzUwMTY4NDU0ZmNlOGU5MjhhZTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRDTG9vcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludENMb29wLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiSlNDSlNWYWx1
ZS5oIgogI2luY2x1ZGUgIk9wY29kZS5oIgpAQCAtNDQsNCArNDQsNCBAQCBjbGFzcyBDTG9vcCB7
CiAKIHVzaW5nIEpTQzo6TExJbnQ6OkNMb29wOwogCi0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludERhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
RGF0YS5jcHAKaW5kZXggNDFmNjRiNGFmYTMxZTgxOWNmNTRiOWZiY2Q4MDgzZjVhMzEzNmU2Zi4u
MGRkMDQ1NDMzNDc5NzdjNTY3M2JmZWViZGUzOGI4YzUyMWQyN2Q2OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAKQEAgLTQ2LDE2ICs0NiwxNiBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKIEluc3RydWN0aW9uIERhdGE6OnNfZXhjZXB0aW9u
SW5zdHJ1Y3Rpb25zW21heE9wY29kZUxlbmd0aCArIDFdID0geyB9OwogT3Bjb2RlIERhdGE6OnNf
b3Bjb2RlTWFwW251bU9wY29kZUlEc10gPSB7IH07CiAKLSNpZiBFTkFCTEUoSklUKQorI2lmICFF
TkFCTEUoQ19MT09QKQogZXh0ZXJuICJDIiB2b2lkIGxsaW50X2VudHJ5KHZvaWQqKTsKICNlbmRp
ZgogCiB2b2lkIGluaXRpYWxpemUoKQogewotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShD
X0xPT1ApCiAgICAgQ0xvb3A6OmluaXRpYWxpemUoKTsKIAotI2Vsc2UgLy8gRU5BQkxFKEpJVCkK
KyNlbHNlIC8vICFFTkFCTEUoQ19MT09QKQogICAgIGxsaW50X2VudHJ5KCZEYXRhOjpzX29wY29k
ZU1hcCk7CiAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bU9wY29kZUlEczsgKytpKQpAQCAt
NjQsNyArNjQsNyBAQCB2b2lkIGluaXRpYWxpemUoKQogICAgIHZvaWQqIGhhbmRsZXIgPSBEYXRh
OjpzX29wY29kZU1hcFtsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lXTsKICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IG1heE9wY29kZUxlbmd0aCArIDE7ICsraSkKICAgICAgICAg
RGF0YTo6c19leGNlcHRpb25JbnN0cnVjdGlvbnNbaV0udS5wb2ludGVyID0gaGFuZGxlcjsKLSNl
bmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCiB9CiAKIElHTk9S
RV9DTEFOR19XQVJOSU5HU19CRUdJTigibWlzc2luZy1ub3JldHVybiIpCkBAIC0xMjUsNyArMTI1
LDcgQEAgdm9pZCBEYXRhOjpwZXJmb3JtQXNzZXJ0aW9ucyhWTSYgdm0pCiAgICAgU1RBVElDX0FT
U0VSVChWYWx1ZVVuZGVmaW5lZCA9PSAoVGFnQml0VHlwZU90aGVyIHwgVGFnQml0VW5kZWZpbmVk
KSk7CiAgICAgU1RBVElDX0FTU0VSVChWYWx1ZU51bGwgPT0gVGFnQml0VHlwZU90aGVyKTsKICNl
bmRpZgotI2lmIChDUFUoWDg2XzY0KSAmJiAhT1MoV0lORE9XUykpIHx8IENQVShBUk02NCkgfHwg
IUVOQUJMRShKSVQpCisjaWYgKENQVShYODZfNjQpICYmICFPUyhXSU5ET1dTKSkgfHwgQ1BVKEFS
TTY0KSB8fCAhRU5BQkxFKEFTU0VNQkxFUikKICAgICBTVEFUSUNfQVNTRVJUKCFtYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbCk7CiAjZWxpZiBDUFUoQVJNKQogICAgIFNUQVRJQ19BU1NFUlQo
bWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPT0gMjQpOwpAQCAtMTM1LDcgKzEzNSw3IEBA
IHZvaWQgRGF0YTo6cGVyZm9ybUFzc2VydGlvbnMoVk0mIHZtKQogICAgIFNUQVRJQ19BU1NFUlQo
bWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPT0gNjQpOwogI2VuZGlmCiAKLSNpZiAhRU5B
QkxFKEpJVCkgfHwgVVNFKEpTVkFMVUUzMl82NCkKKyNpZiBFTkFCTEUoQ19MT09QKSB8fCBVU0Uo
SlNWQUxVRTMyXzY0KQogICAgIEFTU0VSVCghQ29kZUJsb2NrOjpsbGludEJhc2VsaW5lQ2FsbGVl
U2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKCkpOwogI2VsaWYgKENQVShYODZfNjQpICYmICFP
UyhXSU5ET1dTKSkgIHx8IENQVShBUk02NCkKICAgICBBU1NFUlQoQ29kZUJsb2NrOjpsbGludEJh
c2VsaW5lQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKCkgPT0gMyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmgKaW5kZXggYmU1OGMwMGFlNWM2NmFjMzA1ODFh
ZTNkNDg0OTQyOGU1YmIzMDFkMC4uOWNhNTcxNTI3YzBjYjI0MjQwZTdiNjc2OWQ3YmM3Yzk0ZDkw
NzUwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuaApAQCAtMzQsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIGNsYXNzIFZNOwogc3RydWN0IEluc3RydWN0aW9uOwog
Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIHR5cGVkZWYgT3Bjb2RlSUQg
TExJbnRDb2RlOwogI2Vsc2UKIHR5cGVkZWYgdm9pZCAoKkxMSW50Q29kZSkoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAppbmRl
eCBhNjQzN2Q0MDNhNDBhOTkxZjk1NThlNmUzZjQwNzkzYzdkZWM3OTIzLi5iYTZkNTE2ZDVmM2Y4
MWEwNzM3Yjk2MjI2OWVjMzZiMDcyOWZjMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCkBAIC0zMCw3ICszMCw3IEBACiAj
aW5jbHVkZSA8d3RmL0dpZ2FjYWdlLmg+CiAjaW5jbHVkZSA8d3RmL1BvaXNvbmVkLmg+CiAKLSNp
ZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogI2RlZmluZSBPRkZMSU5FX0FTTV9D
X0xPT1AgMQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODYgMAogI2RlZmluZSBPRkZMSU5FX0FTTV9Y
ODZfV0lOIDAKQEAgLTQ1LDcgKzQ1LDcgQEAKICNkZWZpbmUgT0ZGTElORV9BU01fQVJNdjdzIDAK
ICNkZWZpbmUgT0ZGTElORV9BU01fTUlQUyAwCiAKLSNlbHNlIC8vIEVOQUJMRShKSVQpCisjZWxz
ZSAvLyBFTkFCTEUoQ19MT09QKQogCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0NfTE9PUCAwCiAKQEAg
LTEzNyw3ICsxMzcsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQp
CisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiAjZGVmaW5l
IE9GRkxJTkVfQVNNX0pTVkFMVUU2NCAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRPcGNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dE9wY29kZS5oCmluZGV4IDg1OTA1ZTM3MDQzODIzNzgzYmRmN2JmZWMxNDU2N2QxNDExNWMxODUu
Ljg0YTlmYzIxNTA5NzFkY2JiM2FjMGNiMTYxZGY2ZjNiMzgzYjZjMjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludE9wY29kZS5oCkBAIC0yNSwxNyArMjUsMTcgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogCiAjZGVm
aW5lIEZPUl9FQUNIX0xMSU5UX05PSklUX05BVElWRV9IRUxQRVIobWFjcm8pIFwKICAgICBGT1Jf
RUFDSF9DTE9PUF9CWVRFQ09ERV9IRUxQRVJfSUQobWFjcm8pCiAKLSNlbHNlIC8vIEVOQUJMRShK
SVQpCisjZWxzZSAvLyAhRU5BQkxFKENfTE9PUCkKIAogI2RlZmluZSBGT1JfRUFDSF9MTElOVF9O
T0pJVF9OQVRJVkVfSEVMUEVSKG1hY3JvKSBcCi0gICAgLy8gTm90aGluZyB0byBkbyBoZXJlLiBV
c2UgdGhlIEpJVCBpbXBsIGluc3RlYWQuCisgICAgLy8gTm90aGluZyB0byBkbyBoZXJlLiBVc2Ug
dGhlIExMSW50IEFTTSAvIEpJVCBpbXBsIGluc3RlYWQuCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJ
VCkKKyNlbmRpZiAvLyBFTkFCTEUoQ19MT09QKQogCiAKICNkZWZpbmUgRk9SX0VBQ0hfTExJTlRf
TkFUSVZFX0hFTFBFUihtYWNybykgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50UENSYW5nZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFBDUmFuZ2VzLmgKaW5kZXggOTQyMTg1ZTgyNDQ2ZTljMjdjOGY1ZmYxNDNlZWE2MDg1NTE5YWE2
My4uODJiZGM1NTliOGFiMzhmN2U4NTI5NjJmNzI5YjlkOWQ5Y2U3Mzc1OSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50UENSYW5nZXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRQQ1Jhbmdlcy5oCkBAIC00Niw3ICs0Niw3IEBAIEFM
V0FZU19JTkxJTkUgYm9vbCBpc0xMSW50UEModm9pZCogcGMpCiAgICAgcmV0dXJuIGxsaW50U3Rh
cnQgPD0gcGNBc0ludCAmJiBwY0FzSW50IDw9IGxsaW50RW5kOwogfQogCi0jaWYgRU5BQkxFKEpJ
VCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIHN0YXRpYyBjb25zdCBHUFJSZWcgTExJbnRQQyA9IEdQ
UkluZm86OnJlZ1Q0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwCmluZGV4IDNjNWY5YTI5NDJiMzAwM2ZlNDIxMzhmN2U0ZGRjM2Vh
MGRlZWI3YzQuLmMxYzJjNjc0NmFlM2E1NTdmY2EzZTRkZDdmOWRhNGRlN2EyMzkzZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtNTM2
LDcgKzUzNiw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHN0YWNrX2NoZWNrKQogICAgICAgICBz
bG93UGF0aExvZ0YoIk51bSB2YXJzID0gJXUuXG4iLCBjb2RlQmxvY2stPm51bVZhcnMoKSk7CiAg
ICAgfQogICAgIHNsb3dQYXRoTG9nRigiQ3VycmVudCBPUyBzdGFjayBlbmQgaXMgYXQgJXAuXG4i
LCB2bS5zb2Z0U3RhY2tMaW1pdCgpKTsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19M
T09QKQogICAgIHNsb3dQYXRoTG9nRigiQ3VycmVudCBDIExvb3Agc3RhY2sgZW5kIGlzIGF0ICVw
LlxuIiwgdm0uY2xvb3BTdGFja0xpbWl0KCkpOwogI2VuZGlmCiAKQEAgLTU0Nyw3ICs1NDcsNyBA
QCBMTElOVF9TTE9XX1BBVEhfREVDTChzdGFja19jaGVjaykKICAgICAvLyBGb3IgSklUIGVuYWJs
ZWQgYnVpbGRzIHdoaWNoIHVzZXMgdGhlIEMgc3RhY2ssIHRoZSBzdGFjayBpcyBub3QgZ3Jvd2Fi
bGUuCiAgICAgLy8gSGVuY2UsIGlmIHdlIGdldCBoZXJlLCB0aGVuIHdlIGtub3cgYSBzdGFjayBv
dmVyZmxvdyBpcyBpbW1pbmVudC4gU28sIGp1c3QKICAgICAvLyB0aHJvdyB0aGUgU3RhY2tPdmVy
Zmxvd0Vycm9yIHVuY29uZGl0aW9uYWxseS4KLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUo
Q19MT09QKQogICAgIFJlZ2lzdGVyKiB0b3BPZkZyYW1lID0gZXhlYy0+dG9wT2ZGcmFtZSgpOwog
ICAgIGlmIChMSUtFTFkodG9wT2ZGcmFtZSA8IHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0ZXIqPihl
eGVjKSkpIHsKICAgICAgICAgQVNTRVJUKCF2bS5pbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLmNv
bnRhaW5zQWRkcmVzcyh0b3BPZkZyYW1lKSk7CkBAIC0xODYxLDcgKzE4NjEsNyBAQCBleHRlcm4g
IkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19zdGFja19vdmVyZmxvd19lcnJvcihW
TSogdm0sIFByb3RvQ2FsbAogICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiB9CiAKLSNp
ZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogZXh0ZXJuICJDIiBTbG93UGF0aFJl
dHVyblR5cGUgbGxpbnRfc3RhY2tfY2hlY2tfYXRfdm1fZW50cnkoVk0qIHZtLCBSZWdpc3Rlciog
bmV3VG9wT2ZTdGFjaykKIHsKICAgICBib29sIHN1Y2Nlc3MgPSB2bS0+ZW5zdXJlU3RhY2tDYXBh
Y2l0eUZvcihuZXdUb3BPZlN0YWNrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmgKaW5kZXggN2NmZWNhN2E4MTZkMWRjNTMwYTM0N2U4NmZiOWQ1ZmQzNjBi
Y2I4MC4uOWZlMWFjNWI5ZDAzOWVkN2MzYTRmYjA3NDllOTY0NWFkYWQyNGEyMCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTEzMiw3ICsxMzIs
NyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2xvZ19zaGFkb3dfY2hp
Y2tlbl90YWlsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3VwZXJf
c2FtcGxlcl9iZWdpbik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N1
cGVyX3NhbXBsZXJfZW5kKTsKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3Ro
cm93X3N0YWNrX292ZXJmbG93X2Vycm9yKFZNKiwgUHJvdG9DYWxsRnJhbWUqKSBXVEZfSU5URVJO
QUw7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIGV4dGVybiAiQyIgU2xv
d1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2NoZWNrX2F0X3ZtX2VudHJ5KFZNKiwgUmVnaXN0
ZXIqKSBXVEZfSU5URVJOQUw7CiAjZW5kaWYKIGV4dGVybiAiQyIgTk9fUkVUVVJOX0RVRV9UT19D
UkFTSCB2b2lkIGxsaW50X2NyYXNoKCkgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKaW5kZXggMjQ0NmJkYmZlNzZjZjk2Mjk0MDI1ZGM2
NTc1N2RhMGU0OTkzMGU4YS4uNWMxOTRjZjU0ZDJlZjMwMjBlMjEzMzAyODlkOWZmNWMwOTg2MTcx
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3MuY3BwCkBAIC05
OCw4ICs5OCw5IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxKSVRUaHVua1B0clRhZz4gbW9kdWxl
UHJvZ3JhbUVudHJ5VGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogCiB9IC8vIG5hbWVzcGFjZSBMTElu
dAogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ19MT09QKQog
Ly8gTm9uLUpJVCAoaS5lLiBDIExvb3AgTExJTlQpIGNhc2U6CiAKIEVuY29kZWRKU1ZhbHVlIHZt
RW50cnlUb0phdmFTY3JpcHQodm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFZNKiB2bSwgUHJvdG9D
YWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lKQpAQCAtMTIyLDcgKzEyMyw2IEBAIGV4dGVybiAiQyIg
Vk1FbnRyeVJlY29yZCogdm1FbnRyeVJlY29yZChFbnRyeUZyYW1lKiBlbnRyeUZyYW1lKQogICAg
IHJldHVybiByZWludGVycHJldF9jYXN0PFZNRW50cnlSZWNvcmQqPihyZWludGVycHJldF9jYXN0
PGNoYXIqPihlbnRyeUZyYW1lKSAtIFZNRW50cnlUb3RhbEZyYW1lU2l6ZSk7CiB9CiAKLQotI2Vu
ZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKIAogfSAvLyBuYW1l
c3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5jcHAKaW5kZXggNzhiZmYwODg0YzQ4MDI5MzlhNGRlODYwZjc2YjU4MmVhYTlh
NDI2NS4uNDdiZWEyZGY1NWU2NWQ0Y2NjZjdmMGQ3ZTU2MDkwMzE1MGI5NWNiZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcApA
QCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkxMSW50T2ZmbGluZUFzbUNvbmZpZy5oIgogI2lu
Y2x1ZGUgPHd0Zi9JbmxpbmVBU00uaD4KIAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShD
X0xPT1ApCiAjaW5jbHVkZSAiQnl0ZWNvZGVzLmgiCiAjaW5jbHVkZSAiQ0xvb3BTdGFja0lubGlu
ZXMuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKQEAgLTU1OSw0ICs1NTksNCBAQCBKU1ZhbHVl
IENMb29wOjpleGVjdXRlKE9wY29kZUlEIGVudHJ5T3Bjb2RlSUQsIHZvaWQqIGV4ZWN1dGFibGVB
ZGRyZXNzLCBWTSogdm0sCiAvLyBmb3IgdGhlIGludGVycHJldGVyLCBhcyBjb21waWxlZCBmcm9t
IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtLgogI2luY2x1ZGUgIkxMSW50QXNzZW1ibHkuaCIKIAot
I2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5oCmluZGV4IDgz
MDA4ZTEyMjViZjUzZGNmY2ZmZGRhMDM4NWQ2Zjc2YWU5NjI3MzAuLmU0YzkwNzQzYWNmMzk0OTBh
ODM1MTc3NDFiM2VjOTVjZjlkMzZiMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVk
ZSAiT3Bjb2RlLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogCiBu
YW1lc3BhY2UgSlNDIHsKIApAQCAtNDQsNCArNDQsNCBAQCBGT1JfRUFDSF9DT1JFX09QQ09ERV9J
RChMTElOVF9PUENPREVfQUxJQVMpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8g
IUVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaAppbmRleCA1NDQyMjc3Njk5YmVmMjU2YzRiYTYyMzQ2
YzlhZmIzMDVmODVlZDM4Li5mN2U2NTc1NWVkODE4ZDViZjZkZjZlMWNjMTkyYTI4ZmNhMzdhOTMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCkBAIC01OSw3
ICs1OSw3IEBAIGNsYXNzIE9TUkV4aXRDb21waWxlcjsKIGNsYXNzIFNwZWN1bGF0aXZlSklUOwog
fQogI2VuZGlmCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIG5hbWVzcGFj
ZSBMTEludCB7CiBjbGFzcyBDTG9vcDsKIH0KQEAgLTE0Nyw3ICsxNDcsNyBAQCBjbGFzcyBKU1Zh
bHVlIHsKICAgICBmcmllbmQgY2xhc3MgREZHOjpPU1JFeGl0Q29tcGlsZXI7CiAgICAgZnJpZW5k
IGNsYXNzIERGRzo6U3BlY3VsYXRpdmVKSVQ7CiAjZW5kaWYKLSNpZiAhRU5BQkxFKEpJVCkKKyNp
ZiBFTkFCTEUoQ19MT09QKQogICAgIGZyaWVuZCBjbGFzcyBMTEludDo6Q0xvb3A7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRl
eHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgKaW5k
ZXggODM2ZDc1NTY4OGIxNzJmYzEyZjhjNzk0ODJiMGE2MDU4NTMwNWM3OS4uNDZmMTU1NDUxZDA2
NTFiOGIxZmNjYmQyNWY2MmRiOTEwMjlmZTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCkBAIC01MCwxMCArNTAsMTAgQEAgaW5saW5lIHZv
aWQgc2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJiwgTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyPENGdW4KIAogdGVtcGxhdGU8c2l6ZV90IE4+IHZvaWQqJiBhcmd1bWVudFBvaW50
ZXIoUGxhdGZvcm1SZWdpc3RlcnMmKTsKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiBhcmd1bWVu
dFBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmKTsKLSNpZiBFTkFCTEUoSklUKQorI2lm
ICFFTkFCTEUoQ19MT09QKQogdm9pZComIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3Jt
UmVnaXN0ZXJzJik7CiB2b2lkKiBsbGludEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBQbGF0Zm9y
bVJlZ2lzdGVycyYpOwotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIUVOQUJMRShD
X0xPT1ApCiAKICNpZiBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIApAQCAtNzIsMTAgKzcyLDEwIEBA
IGlubGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiwgTWFjcm9Bc3Nl
bWJsZXJDb2RlUHRyPENGdW5jdGlvblB0CiAKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiYgYXJn
dW1lbnRQb2ludGVyKG1jb250ZXh0X3QmKTsKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiBhcmd1
bWVudFBvaW50ZXIoY29uc3QgbWNvbnRleHRfdCYpOwotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVO
QUJMRShDX0xPT1ApCiB2b2lkKiYgbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRleHRfdCYp
Owogdm9pZCogbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgbWNvbnRleHRfdCYpOwotI2Vu
ZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApCiAjZW5kaWYgLy8g
SEFWRShNQUNISU5FX0NPTlRFWFQpCiAjZW5kaWYgLy8gT1MoV0lORE9XUykgfHwgSEFWRShNQUNI
SU5FX0NPTlRFWFQpCiAKQEAgLTY2OCw3ICs2NjgsNyBAQCBpbmxpbmUgdm9pZCogYXJndW1lbnRQ
b2ludGVyKGNvbnN0IG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogfQogI2VuZGlmIC8vIEhB
VkUoTUFDSElORV9DT05URVhUKQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9P
UCkKICNpZiBPUyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIGlubGluZSB2b2lk
KiYgbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoUGxhdGZvcm1SZWdpc3RlcnMmIHJlZ3MpCiB7CkBA
IC03ODMsNyArNzgzLDcgQEAgaW5saW5lIHZvaWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKGNv
bnN0IG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogICAgIHJldHVybiBsbGludEluc3RydWN0
aW9uUG9pbnRlcihjb25zdF9jYXN0PG1jb250ZXh0X3QmPihtYWNoaW5lQ29udGV4dCkpOwogfQog
I2VuZGlmIC8vIEhBVkUoTUFDSElORV9DT05URVhUKQotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApCiAKIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHAKaW5kZXggYjY5MzVlNGM3NTU0ZGEx
YWYyMGQ0NGFiNjI5OTJmNWEzODkxYmNiZC4uYTk5NTU0ZDFmM2RhNjBiNWZiYzg5MzdjYjk3N2Vm
ZTIxOGZlZWI5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Ft
cGxpbmdQcm9maWxlci5jcHAKQEAgLTYwMSwxMCArNjAxLDE1IEBAIHZvaWQgU2FtcGxpbmdQcm9m
aWxlcjo6cHJvY2Vzc1VudmVyaWZpZWRTdGFja1RyYWNlcygpCiAgICAgICAgICAgICAgICAgICAg
IHN0b3JlQ2FsbGVlSW50b0xhc3RGcmFtZSh1bnByb2Nlc3NlZFN0YWNrVHJhY2UuZnJhbWVzWzBd
LnVudmVyaWZpZWRDYWxsZWUpOwogICAgICAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gMTsK
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHN0ZDo6b3B0aW9uYWw8
Q29kZU9yaWdpbj4gY29kZU9yaWdpbiA9IHRvcENvZGVCbG9jay0+ZmluZFBDKHVucHJvY2Vzc2Vk
U3RhY2tUcmFjZS50b3BQQykpIHsKLSAgICAgICAgICAgICAgICBhcHBlbmRDb2RlT3JpZ2luKHRv
cENvZGVCbG9jaywgKmNvZGVPcmlnaW4pOwotICAgICAgICAgICAgICAgIHN0b3JlQ2FsbGVlSW50
b0xhc3RGcmFtZSh1bnByb2Nlc3NlZFN0YWNrVHJhY2UuZnJhbWVzWzBdLnVudmVyaWZpZWRDYWxs
ZWUpOwotICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSAxOworICAgICAgICAgICAgfSBlbHNl
IHsKKyNpZiBFTkFCTEUoSklUKQorICAgICAgICAgICAgICAgIGlmIChzdGQ6Om9wdGlvbmFsPENv
ZGVPcmlnaW4+IGNvZGVPcmlnaW4gPSB0b3BDb2RlQmxvY2stPmZpbmRQQyh1bnByb2Nlc3NlZFN0
YWNrVHJhY2UudG9wUEMpKSB7CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZENvZGVPcmlnaW4o
dG9wQ29kZUJsb2NrLCAqY29kZU9yaWdpbik7CisgICAgICAgICAgICAgICAgICAgIHN0b3JlQ2Fs
bGVlSW50b0xhc3RGcmFtZSh1bnByb2Nlc3NlZFN0YWNrVHJhY2UuZnJhbWVzWzBdLnVudmVyaWZp
ZWRDYWxsZWUpOworICAgICAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gMTsKKyAgICAgICAg
ICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgICAgICAgICBVTlVTRURfUEFSQU0oYXBwZW5kQ29k
ZU9yaWdpbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVzdFJ1bm5lclV0aWxzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Rlc3RSdW5uZXJVdGlscy5jcHAKaW5kZXggMDFlYzg2YTE0ZGY5
YTk2MmYzMjY3NWU2ZmQwODczMDBkODBlMmJjNy4uMzRlZWNhNzRjNzI0N2ViNWUyNDZlZDcxN2Rl
YTE3ZjExMzZmODJjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
VGVzdFJ1bm5lclV0aWxzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9U
ZXN0UnVubmVyVXRpbHMuY3BwCkBAIC0xMDIsMTAgKzEwMiw4IEBAIEpTVmFsdWUgb3B0aW1pemVO
ZXh0SW52b2NhdGlvbihKU1ZhbHVlIHRoZUZ1bmN0aW9uVmFsdWUpCiAjaWYgRU5BQkxFKEpJVCkK
ICAgICBpZiAoQ29kZUJsb2NrKiBiYXNlbGluZUNvZGVCbG9jayA9IGdldFNvbWVCYXNlbGluZUNv
ZGVCbG9ja0ZvckZ1bmN0aW9uKHRoZUZ1bmN0aW9uVmFsdWUpKQogICAgICAgICBiYXNlbGluZUNv
ZGVCbG9jay0+b3B0aW1pemVOZXh0SW52b2NhdGlvbigpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFS
QU0odGhlRnVuY3Rpb25WYWx1ZSk7CiAjZW5kaWYKLQorICAgIFVOVVNFRF9QQVJBTSh0aGVGdW5j
dGlvblZhbHVlKTsKICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uY3BwCmluZGV4IDhlMDkyYmM1YThhNzhiZTg2MDliNDlkNmNjNmZjZWQx
ODVhODQ1MTkuLjQ3ZTYxYjgzYTM5NzMwNTc3NGE2ZjIzZGM0M2UzMGRiZDcwNmNkNjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKQEAgLTE1OSw3ICsxNTksNyBAQAogI2luY2x1
ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ1RhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3lt
Ym9sUmVnaXN0cnkuaD4KIAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAj
aW5jbHVkZSAiQ0xvb3BTdGFjay5oIgogI2luY2x1ZGUgIkNMb29wU3RhY2tJbmxpbmVzLmgiCiAj
ZW5kaWYKQEAgLTQ2MSw3ICs0NjEsNyBAQCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUg
aGVhcFR5cGUpCiAgICAgZnRsVGh1bmtzID0gc3RkOjptYWtlX3VuaXF1ZTxGVEw6OlRodW5rcz4o
KTsKICNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKICAgICAKLSNpZiBFTkFCTEUoSklUKQorI2lm
ICFFTkFCTEUoQ19MT09QKQogICAgIGluaXRpYWxpemVIb3N0Q2FsbFJldHVyblZhbHVlKCk7IC8v
IFRoaXMgaXMgbmVlZGVkIHRvIGNvbnZpbmNlIHRoZSBsaW5rZXIgbm90IHRvIGRyb3AgaG9zdCBj
YWxsIHJldHVybiBzdXBwb3J0LgogI2VuZGlmCiAgICAgCkBAIC03NDEsOSArNzQxLDggQEAgTmF0
aXZlRXhlY3V0YWJsZSogVk06OmdldEhvc3RGdW5jdGlvbihOYXRpdmVGdW5jdGlvbiBmdW5jdGlv
biwgSW50cmluc2ljIGludHJpbnMKICAgICAgICAgICAgIGludHJpbnNpYyAhPSBOb0ludHJpbnNp
YyA/IHRodW5rR2VuZXJhdG9yRm9ySW50cmluc2ljKGludHJpbnNpYykgOiAwLAogICAgICAgICAg
ICAgaW50cmluc2ljLCBzaWduYXR1cmUsIG5hbWUpOwogICAgIH0KLSNlbHNlIC8vIEVOQUJMRShK
SVQpCi0gICAgVU5VU0VEX1BBUkFNKGludHJpbnNpYyk7CiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkK
KyAgICBVTlVTRURfUEFSQU0oaW50cmluc2ljKTsKICAgICByZXR1cm4gTmF0aXZlRXhlY3V0YWJs
ZTo6Y3JlYXRlKCp0aGlzLAogICAgICAgICBhZG9wdFJlZigqbmV3IE5hdGl2ZUpJVENvZGUoTExJ
bnQ6OmdldENvZGVSZWY8SlNFbnRyeVB0clRhZz4obGxpbnRfbmF0aXZlX2NhbGxfdHJhbXBvbGlu
ZSksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmspKSwgZnVuY3Rpb24sCiAgICAgICAgIGFkb3B0UmVm
KCpuZXcgTmF0aXZlSklUQ29kZShMTEludDo6Z2V0Q29kZVJlZjxKU0VudHJ5UHRyVGFnPihsbGlu
dF9uYXRpdmVfY29uc3RydWN0X3RyYW1wb2xpbmUpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5rKSks
IGNvbnN0cnVjdG9yLApAQCAtODc2LDcgKzg3NSw3IEBAIHNpemVfdCBWTTo6dXBkYXRlU29mdFJl
c2VydmVkWm9uZVNpemUoc2l6ZV90IHNvZnRSZXNlcnZlZFpvbmVTaXplKQogewogICAgIHNpemVf
dCBvbGRTb2Z0UmVzZXJ2ZWRab25lU2l6ZSA9IG1fY3VycmVudFNvZnRSZXNlcnZlZFpvbmVTaXpl
OwogICAgIG1fY3VycmVudFNvZnRSZXNlcnZlZFpvbmVTaXplID0gc29mdFJlc2VydmVkWm9uZVNp
emU7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICBpbnRlcnByZXRl
ci0+Y2xvb3BTdGFjaygpLnNldFNvZnRSZXNlcnZlZFpvbmVTaXplKHNvZnRSZXNlcnZlZFpvbmVT
aXplKTsKICNlbmRpZgogCkBAIC0xMTQ1LDcgKzExNDQsNyBAQCB2b2lkIHNhbml0aXplU3RhY2tG
b3JWTShWTSogdm0pCiAgICAgICAgIEFTU0VSVCh2bS0+Y3VycmVudFRocmVhZElzSG9sZGluZ0FQ
SUxvY2soKSk7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc3RhY2tCb3VuZHMsIHN0YWNrQm91bmRz
LmNvbnRhaW5zKHZtLT5sYXN0U3RhY2tUb3AoKSkpOwogICAgIH0KLSNpZiAhRU5BQkxFKEpJVCkK
KyNpZiBFTkFCTEUoQ19MT09QKQogICAgIHZtLT5pbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLnNh
bml0aXplU3RhY2soKTsKICNlbHNlCiAgICAgc2FuaXRpemVTdGFja0ZvclZNSW1wbCh2bSk7CkBA
IC0xMTU0LDcgKzExNTMsNyBAQCB2b2lkIHNhbml0aXplU3RhY2tGb3JWTShWTSogdm0pCiAKIHNp
emVfdCBWTTo6Y29tbWl0dGVkU3RhY2tCeXRlQ291bnQoKQogewotI2lmIEVOQUJMRShKSVQpCisj
aWYgIUVOQUJMRShDX0xPT1ApCiAgICAgLy8gV2hlbiB1c2luZyB0aGUgQyBzdGFjaywgd2UgZG9u
J3Qga25vdyBob3cgbWFueSBzdGFjayBwYWdlcyBhcmUgYWN0dWFsbHkKICAgICAvLyBjb21taXR0
ZWQuIFNvLCB3ZSB1c2UgdGhlIGN1cnJlbnQgc3RhY2sgdXNhZ2UgYXMgYW4gZXN0aW1hdGUuCiAg
ICAgQVNTRVJUKFRocmVhZDo6Y3VycmVudCgpLnN0YWNrKCkuaXNHcm93aW5nRG93bndhcmQoKSk7
CkBAIC0xMTY2LDcgKzExNjUsNyBAQCBzaXplX3QgVk06OmNvbW1pdHRlZFN0YWNrQnl0ZUNvdW50
KCkKICNlbmRpZgogfQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIGJv
b2wgVk06OmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3JDTG9vcChSZWdpc3RlciogbmV3VG9wT2ZTdGFj
aykKIHsKICAgICByZXR1cm4gaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5lbnN1cmVDYXBhY2l0
eUZvcihuZXdUb3BPZlN0YWNrKTsKQEAgLTExNzYsNyArMTE3NSw3IEBAIGJvb2wgVk06OmlzU2Fm
ZVRvUmVjdXJzZVNvZnRDTG9vcCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGludGVycHJldGVyLT5j
bG9vcFN0YWNrKCkuaXNTYWZlVG9SZWN1cnNlKCk7CiB9Ci0jZW5kaWYgLy8gIUVOQUJMRShKSVQp
CisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKIAogI2lmIEVOQUJMRShFWENFUFRJT05fU0NPUEVf
VkVSSUZJQ0FUSU9OKQogdm9pZCBWTTo6dmVyaWZ5RXhjZXB0aW9uQ2hlY2tOZWVkSXNTYXRpc2Zp
ZWQodW5zaWduZWQgcmVjdXJzaW9uRGVwdGgsIEV4Y2VwdGlvbkV2ZW50TG9jYXRpb24mIGxvY2F0
aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKaW5kZXggNDBkYTVkMzY4OTI1MzhiMmIy
YmI0ZDE2NzYxMmU1N2Q1MTVhY2Q2My4uZjk3YWYzNWExNDlkMzU5YjJlNDYwYmY3ZDFhMWI5OTcx
NzcyOGU5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCkBAIC03MTYsNyArNzE2LDcg
QEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91
Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICB2b2lkKiBzdGFja0xpbWl0KCkgeyByZXR1cm4g
bV9zdGFja0xpbWl0OyB9CiAgICAgdm9pZCogc29mdFN0YWNrTGltaXQoKSB7IHJldHVybiBtX3Nv
ZnRTdGFja0xpbWl0OyB9CiAgICAgdm9pZCoqIGFkZHJlc3NPZlNvZnRTdGFja0xpbWl0KCkgeyBy
ZXR1cm4gJm1fc29mdFN0YWNrTGltaXQ7IH0KLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUo
Q19MT09QKQogICAgIHZvaWQqIGNsb29wU3RhY2tMaW1pdCgpIHsgcmV0dXJuIG1fY2xvb3BTdGFj
a0xpbWl0OyB9CiAgICAgdm9pZCBzZXRDTG9vcFN0YWNrTGltaXQodm9pZCogbGltaXQpIHsgbV9j
bG9vcFN0YWNrTGltaXQgPSBsaW1pdDsgfQogI2VuZGlmCkBAIC05MjksMTAgKzkyOSwxMCBAQCBj
bGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWTT4sIHB1YmxpYyBEb3VibHlM
aW5rZWRMaXN0Tm9kZTxWTT4gewogICAgICAgICBtX2V4Y2VwdGlvbiA9IG51bGxwdHI7CiAgICAg
fQogCi0jaWYgIUVOQUJMRShKSVQpICAgIAorI2lmIEVOQUJMRShDX0xPT1ApCiAgICAgYm9vbCBl
bnN1cmVTdGFja0NhcGFjaXR5Rm9yQ0xvb3AoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spOwogICAg
IGJvb2wgaXNTYWZlVG9SZWN1cnNlU29mdENMb29wKCkgY29uc3Q7Ci0jZW5kaWYgLy8gIUVOQUJM
RShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKIAogICAgIEpTX0VYUE9SVF9QUklWQVRF
IHZvaWQgdGhyb3dFeGNlcHRpb24oRXhlY1N0YXRlKiwgRXhjZXB0aW9uKik7CiAgICAgSlNfRVhQ
T1JUX1BSSVZBVEUgSlNWYWx1ZSB0aHJvd0V4Y2VwdGlvbihFeGVjU3RhdGUqLCBKU1ZhbHVlKTsK
QEAgLTk1Myw3ICs5NTMsNyBAQCBjbGFzcyBWTSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxWTT4sIHB1YmxpYyBEb3VibHlMaW5rZWRMaXN0Tm9kZTxWTT4gewogICAgIHNpemVfdCBtX2N1
cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKICAgICB2b2lkKiBtX3N0YWNrTGltaXQgeyBudWxs
cHRyIH07CiAgICAgdm9pZCogbV9zb2Z0U3RhY2tMaW1pdCB7IG51bGxwdHIgfTsKLSNpZiAhRU5B
QkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIHZvaWQqIG1fY2xvb3BTdGFja0xpbWl0
IHsgbnVsbHB0ciB9OwogI2VuZGlmCiAgICAgdm9pZCogbV9sYXN0U3RhY2tUb3AgeyBudWxscHRy
IH07CkBAIC0xMDM1LDcgKzEwMzUsNyBAQCBpbmxpbmUgSGVhcCogV2Vha1NldDo6aGVhcCgpIGNv
bnN0CiAgICAgcmV0dXJuICZtX3ZtLT5oZWFwOwogfQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAh
RU5BQkxFKENfTE9PUCkKIGV4dGVybiAiQyIgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk1JbXBsKFZN
Kik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Vk1JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUlubGluZXMuaApp
bmRleCAxNWI1MGQ2ZGZiYWVhMTIyNjI5OWU3MTI5MTBkMzBkYmIzZjFmMTMzLi4xNWU1ZGYwYjI1
MzE0ZTdlNjgwYjhlNTliOTA1NGZhOTVlMzY3NTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9WTUlubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9WTUlubGluZXMuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAKIGJvb2wgVk06OmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3Rh
Y2spCiB7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBBU1NFUlQo
VGhyZWFkOjpjdXJyZW50KCkuc3RhY2soKS5pc0dyb3dpbmdEb3dud2FyZCgpKTsKICAgICByZXR1
cm4gbmV3VG9wT2ZTdGFjayA+PSBtX3NvZnRTdGFja0xpbWl0OwogI2Vsc2UKQEAgLTQ3LDcgKzQ3
LDcgQEAgYm9vbCBWTTo6ZW5zdXJlU3RhY2tDYXBhY2l0eUZvcihSZWdpc3RlciogbmV3VG9wT2ZT
dGFjaykKIGJvb2wgVk06OmlzU2FmZVRvUmVjdXJzZVNvZnQoKSBjb25zdAogewogICAgIGJvb2wg
c2FmZSA9IGlzU2FmZVRvUmVjdXJzZShtX3NvZnRTdGFja0xpbWl0KTsKLSNpZiAhRU5BQkxFKEpJ
VCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIHNhZmUgPSBzYWZlICYmIGlzU2FmZVRvUmVjdXJz
ZVNvZnRDTG9vcCgpOwogI2VuZGlmCiAgICAgcmV0dXJuIHNhZmU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBl
NTY5Y2RjNTYzODk3MmYyY2FhMTQzOWE2YmIzNjIxOGZmOWYzNzRiLi4xYTgzMzQ5NTNjMzg2MmQ0
Mzc4ZDE4NjJjY2FiZmVhMWM2ZmY3NjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTc1Nyw2ICs3NTcsMTUg
QEAKICNkZWZpbmUgRU5BQkxFX0pJVCAwCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9D
X0xPT1ApCisjaWYgRU5BQkxFKEpJVCkgXAorICAgIHx8IENQVShYODZfNjQpIHx8IChDUFUoQVJN
NjQpICYmICFkZWZpbmVkKF9fSUxQMzJfXykpCisjZGVmaW5lIEVOQUJMRV9DX0xPT1AgMAorI2Vs
c2UKKyNkZWZpbmUgRU5BQkxFX0NfTE9PUCAxCisjZW5kaWYKKyNlbmRpZgorCiAvKiBUaGUgRlRM
ICpkb2VzIG5vdCogd29yayBvbiAzMi1iaXQgcGxhdGZvcm1zLiBEaXNhYmxlIGl0IGV2ZW4gaWYg
c29tZW9uZSBhc2tlZCB1cyB0byBlbmFibGUgaXQuICovCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkK
ICN1bmRlZiBFTkFCTEVfRlRMX0pJVApAQCAtODYzLDcgKzg3Miw3IEBACiAgKiBJbiBjb25maWd1
cmF0aW9ucyBvdGhlciB0aGFuIFdpbmRvd3MgYW5kIERhcndpbiwgYmVjYXVzZSBsYXlvdXQgb2Yg
bWNvbnRleHRfdCBkZXBlbmRzIG9uIHN0YW5kYXJkIGxpYnJhcmllcyAobGlrZSBnbGliYyksCiAg
KiBzYW1wbGluZyBwcm9maWxlciBpcyBlbmFibGVkIGlmIFdlYktpdCB1c2VzIHB0aHJlYWRzIGFu
ZCBnbGliYy4gKi8KICNpZiAhZGVmaW5lZChFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIpCi0jaWYg
RU5BQkxFKEpJVCkgJiYgKE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKSkKKyNp
ZiAhRU5BQkxFKENfTE9PUCkgJiYgKE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhU
KSkKICNkZWZpbmUgRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSIDEKICNlbHNlCiAjZGVmaW5lIEVO
QUJMRV9TQU1QTElOR19QUk9GSUxFUiAwCkBAIC05NTEsNyArOTYwLDcgQEAKICNkZWZpbmUgRU5B
QkxFX0NPTVBVVEVEX0dPVE9fT1BDT0RFUyAxCiAjZW5kaWYKIAotI2lmIEVOQUJMRShKSVQpICYm
ICFDT01QSUxFUihNU1ZDKSAmJiBcCisjaWYgIUVOQUJMRShDX0xPT1ApICYmICFDT01QSUxFUihN
U1ZDKSAmJiBcCiAgICAgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk02NCkgfHwg
KENQVShBUk1fVEhVTUIyKSAmJiBPUyhEQVJXSU4pKSkKIC8qIFRoaXMgZmVhdHVyZSB3b3JrcyBi
eSBlbWJlZGRpbmcgdGhlIE9wY29kZUlEIGluIHRoZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdl
bmVyYXRlZCBMTGludCBjb2RlCiAgICB0aGF0IGV4ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5u
b3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBDTG9vcCBzaW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJl
ZCB0aGUKQEAgLTk4MSw3ICs5OTAsNyBAQAogCiAvKiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUg
UmVnRXhwIEpJVCBpcyBlbmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZQogICAgZW5h
YmxlZCBhcyB3ZWxsOiAqLwotI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNp
ZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpIHx8ICFFTkFCTEUoQ19MT09QKQogI2lm
IGRlZmluZWQoRU5BQkxFX0FTU0VNQkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIKICNlcnJvciAi
Q2Fubm90IGVuYWJsZSB0aGUgSklUIG9yIFJlZ0V4cCBKSVQgd2l0aG91dCBlbmFibGluZyB0aGUg
QXNzZW1ibGVyIgogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCAxMTZlMGQ5
Njk3NGYxMmVkZGUwNjA1YzFlN2NmNmQyMzhiZjNmYTAwLi41YTQ1MjhhZTE3ZDEzYzA3NDI5YTU0
Y2NmMGE0NmI5N2NlM2E5ZjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0xOTUs
NyArMTk1LDYgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFUEVORChFTkFCTEVfREZHX0pJVCBFTkFCTEVfSklUKQogICAgIFdFQktJVF9PUFRJT05fREVQ
RU5EKEVOQUJMRV9GVExfSklUIEVOQUJMRV9ERkdfSklUKQogICAgIFdFQktJVF9PUFRJT05fREVQ
RU5EKEVOQUJMRV9XRUJBU1NFTUJMWSBFTkFCTEVfRlRMX0pJVCkKLSAgICBXRUJLSVRfT1BUSU9O
X0RFUEVORChFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIgRU5BQkxFX0pJVCkKICAgICBXRUJLSVRf
T1BUSU9OX0RFUEVORChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTIEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQgRU5BQkxFX1ZJREVPKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVO
QUJMRV9NRURJQV9TT1VSQ0UgRU5BQkxFX1ZJREVPKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IDFmOWQ5ZjQxZWJmYTMwMzNmYmFkZGFkMzk0OTNhYjYwZTViZTViNmMu
LmI1MzkwMWM0Yzk1ZjkxZTNmNTBmNGQyMzhkZWZkMTk5ZTg1ZjZlZTYgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wOS0yMSAgWXVz
dWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQub3JnPgorCisgICAgICAgIFtKU0Nd
IEVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIgb24gWDY0IGFuZCBBUk02NCBpbiBub24gSklU
IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4OTc3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiBkb2VzIG5vdCBkZXBlbmQgb24gRU5BQkxF
X0pJVCBub3cgc2luY2UgaXQgY2FuIGJlCisgICAgICAgIHVzZWQgd2l0aCBMTEludCBBU00gaW50
ZXJwcmV0ZXIuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6
CisKIDIwMTgtMDktMjAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBHVEsrIGxpYnJhcnkgdmVyc2lvbnMgYWZ0
ZXIgcjIzNTM2Mi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350342</attachid>
            <date>2018-09-21 02:31:47 -0700</date>
            <delta_ts>2018-09-21 06:56:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189778-20180921183146.patch</filename>
            <type>text/plain</type>
            <size>73437</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
YzY1MjUxNTMwY2JhMjFiMjlkNmYyZGZmZWQzYmE1MDk1OTIyZjk3Li44YjlkYTk1OTgzNGFhMzI3
MzlmYjNiM2ZjMjgxN2FiMmE2OGQyM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTEgQEAKKzIwMTgtMDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xv
d3N0YXJ0Lm9yZz4KKworICAgICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVy
IG9uIFg2NCBhbmQgQVJNNjQgaW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMTEludCBBU00gaW50ZXJwcmV0ZXIg
aXMgMnggYW5kIDE1JSBmYXN0ZXIgdGhhbiBDTG9vcCBpbnRlcnByZXRlciBvbgorICAgICAgICBM
aW51eCBhbmQgbWFjT1MgcmVzcGVjdGl2ZWx5LiBXZSB3b3VsZCBsaWtlIHRvIGVuYWJsZSBpdCBm
b3Igbm9uIEpJVAorICAgICAgICBjb25maWd1cmF0aW9uIGluIFg4Nl82NCBhbmQgQVJNNjQuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBlbmFibGVzIExMSW50IGZvciBub24gSklUIGluIFg4Nl82NCBh
bmQgQVJNNjQgYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgUHJldmlvdXNseSwgd2Ugc3dpdGNoIExM
SW50IEFTTSBpbnRlcnByZXRlciBhbmQgQ0xvb3AgYnkgdXNpbmcgRU5BQkxFKEpJVCkKKyAgICAg
ICAgY29uZmlndXJhdGlvbi4gQnV0IGl0IGlzIHdyb25nIGluIHRoZSBuZXcgc2NlbmFyaW8gc2lu
Y2Ugd2UgaGF2ZSBhIGJ1aWxkeAorICAgICAgICBjb25maWd1cmF0aW9uIHRoYXQgdXNlcyBMTElu
dCBBU00gaW50ZXJwcmV0ZXIgYW5kIEpJVCBpcyBkaXNhYmxlZC4gV2UgaW50cm9kdWNlCisgICAg
ICAgIEVOQUJMRShDX0xPT1ApIG9wdGlvbiwgd2hpY2ggcmVwcmVzZW50cyB0aGF0IHdlIHVzZSBD
TG9vcC4gQW5kIHdlIHJlcGxhY2UKKyAgICAgICAgRU5BQkxFKEpJVCkgd2l0aCBFTkFCTEUoQ19M
T09QKSBpZiB0aGUgcHJldmlvdXMgRU5BQkxFKEpJVCkgaXMgZXNzZW50aWFsbHkganVzdAorICAg
ICAgICByZWxhdGVkIHRvIExMSW50IEFTTSBpbnRlcnByZXRlciBhbmQgbm90IHJlbGF0ZWQgdG8g
SklULgorCisgICAgICAgIFdlIGFsc28gcmVwbGFjZSBzb21lIEVOQUJMRShKSVQpIGNvbmZpZ3Vy
YXRpb25zIHdpdGggRU5BQkxFKEFTU0VNQkxFUikuCisgICAgICAgIEVOQUJMRShBU1NFTUJMRVIp
IGlzIG5vdyBlbmFibGVkIGV2ZW4gaWYgd2UgZGlzYWJsZSBKSVQgc2luY2UgTWFjcm9Bc3NlbWJs
ZXIKKyAgICAgICAgaGFzIG1hY2hpbmUgcmVnaXN0ZXIgaW5mb3JtYXRpb24gdGhhdCBpcyB1c2Vk
IGluIExMSW50IEFTTSBpbnRlcnByZXRlci4KKworICAgICAgICAqIEFQSS90ZXN0cy9QaW5nUG9u
Z1N0YWNrT3ZlcmZsb3dUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RQaW5nUG9uZ1N0YWNrT3ZlcmZs
b3cpOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYXNzZW1ibGVyL01heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmg6CisgICAgICAgICogYnl0ZWNvZGUvQ2FsbFJldHVybk9m
ZnNldFRvQnl0ZWNvZGVPZmZzZXQuaDogUmVtb3ZlZC4gSXQgaXMgbm8gbG9uZ2VyIHVzZWQuCisg
ICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2Nr
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmg6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6Y2FsbGVlU2F2ZVJlZ2lzdGVycyBjb25zdCk6CisgICAgICAg
IChKU0M6OkNvZGVCbG9jazo6bnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVy
cyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFj
ZUFzVmlydHVhbFJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Y2FsbGVlU2F2
ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKToKKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoK
KyAgICAgICAgKEpTQzo6cGFkT3Bjb2RlTmFtZSk6CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoK
KyAgICAgICAgKEpTQzo6SGVhcDo6Z2F0aGVySlNTdGFja1Jvb3RzKToKKyAgICAgICAgKEpTQzo6
SGVhcDo6c3RvcFRoZVBlcmlwaGVyeSk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFj
ay5jcHA6CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oOgorICAgICAgICAqIGlu
dGVycHJldGVyL0NMb29wU3RhY2tJbmxpbmVzLmg6CisgICAgICAgICogaW50ZXJwcmV0ZXIvRW50
cnlGcmFtZS5oOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAg
ICAgKEpTQzo6SW50ZXJwcmV0ZXI6OkludGVycHJldGVyKToKKyAgICAgICAgKEpTQzo6VW53aW5k
RnVuY3Rvcjo6Y29weUNhbGxlZVNhdmVzVG9FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIgY29u
c3QpOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmg6CisgICAgICAgICogaW50
ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpG
cmFtZTo6Y2FsbGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvVk1FbnRy
eVJlY29yZC5oOgorICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmg6CisgICAgICAg
ICogaml0L0ZQUkluZm8uaDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAg
ICogaml0L0dQUkluZm8uY3BwOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChX
VEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNw
cDoKKyAgICAgICAgKEpTQzo6Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpOiBN
b3ZlZC4gVGhleSBhcmUgdXNlZCBpbiBMTEludCBBU00gaW50ZXJwcmV0ZXIgdG9vLgorICAgICAg
ICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmg6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlv
bnMuY3BwOgorICAgICAgICAoSlNDOjpnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0
ZSk6IERlbGV0ZWQuCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwOgorICAg
ICAgICAqIGppdC9SZWcuY3BwOgorICAgICAgICAqIGppdC9SZWcuaDoKKyAgICAgICAgKiBqaXQv
UmVnaXN0ZXJBdE9mZnNldC5jcHA6CisgICAgICAgICogaml0L1JlZ2lzdGVyQXRPZmZzZXQuaDoK
KyAgICAgICAgKiBqaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuY3BwOgorICAgICAgICAqIGppdC9S
ZWdpc3RlckF0T2Zmc2V0TGlzdC5oOgorICAgICAgICAqIGppdC9SZWdpc3Rlck1hcC5oOgorICAg
ICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgICogaml0L1JlZ2lzdGVyU2V0Lmg6
CisgICAgICAgICogaml0L1RlbXBSZWdpc3RlclNldC5jcHA6CisgICAgICAgICogaml0L1RlbXBS
ZWdpc3RlclNldC5oOgorICAgICAgICAqIGxsaW50L0xMSW50Q0xvb3AuY3BwOgorICAgICAgICAq
IGxsaW50L0xMSW50Q0xvb3AuaDoKKyAgICAgICAgKiBsbGludC9MTEludERhdGEuY3BwOgorICAg
ICAgICAoSlNDOjpMTEludDo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChKU0M6OkxMSW50OjpEYXRh
OjpwZXJmb3JtQXNzZXJ0aW9ucyk6CisgICAgICAgICogbGxpbnQvTExJbnREYXRhLmg6CisgICAg
ICAgICogbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmg6CisgICAgICAgICogbGxpbnQvTExJ
bnRPcGNvZGUuaDoKKyAgICAgICAgKiBsbGludC9MTEludFBDUmFuZ2VzLmg6CisgICAgICAgICog
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6TExJTlRfU0xP
V19QQVRIX0RFQ0wpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAg
ICogbGxpbnQvTExJbnRUaHVua3MuY3BwOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuaDoKKyAgICAgICAgKiBydW50aW1lL01hY2hpbmVDb250
ZXh0Lmg6CisgICAgICAgICogcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcDoKKyAgICAgICAg
KEpTQzo6U2FtcGxpbmdQcm9maWxlcjo6cHJvY2Vzc1VudmVyaWZpZWRTdGFja1RyYWNlcyk6IEVu
YWJsZSBTYW1wbGluZ1Byb2ZpbGVyCisgICAgICAgIGZvciBMTEludCBBU00gaW50ZXJwcmV0ZXIg
d2l0aCBub24gSklUIGNvbmZpZ3VyYXRpb24uCisgICAgICAgICogcnVudGltZS9UZXN0UnVubmVy
VXRpbHMuY3BwOgorICAgICAgICAoSlNDOjpvcHRpbWl6ZU5leHRJbnZvY2F0aW9uKToKKyAgICAg
ICAgKiBydW50aW1lL1ZNLmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKEpT
Qzo6Vk06OmdldEhvc3RGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlZNOjp1cGRhdGVTb2Z0UmVz
ZXJ2ZWRab25lU2l6ZSk6CisgICAgICAgIChKU0M6OnNhbml0aXplU3RhY2tGb3JWTSk6CisgICAg
ICAgIChKU0M6OlZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCk6CisgICAgICAgICogcnVudGlt
ZS9WTS5oOgorICAgICAgICAqIHJ1bnRpbWUvVk1JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlZN
OjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yKToKKyAgICAgICAgKEpTQzo6Vk06OmlzU2FmZVRvUmVj
dXJzZVNvZnQgY29uc3QpOgorCiAyMDE4LTA5LTIwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzYyOTMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IDg5NWJmOTkxNjNkYjNhYWRiMWZjNzRlM2QzMWUzMjQxODZjMWM5MmUuLmU3ODM4ZDdhOGM2
YTI4Y2FkZDU1M2Y4YTEzYzY2ZmFlNzQ2M2E3NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTgt
MDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KKworICAg
ICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVyIG9uIFg2NCBhbmQgQVJNNjQg
aW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgRU5BQkxFKENfTE9PUCkgd2hpY2ggaW5k
aWNhdGVzIHdlIHVzZSBDTG9vcCBhcyB0aGUgaW50ZXJwcmV0ZXIuCisgICAgICAgIFByZXZpb3Vz
bHksIHdlIHVzZWQgIUVOQUJMRShKSVQpIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uIEJ1dCBub3cs
IHdlIGhhdmUKKyAgICAgICAgYSBidWlsZCBjb25maWd1cmF0aW9uIHRoYXQgaGFzIExMSW50IEFT
TSBpbnRlcnByZXRlciAobm90IENMb29wKSBhbmQgIUVOQUJMRShKSVQpLgorCisgICAgICAgIFdl
IGVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIgZm9yIG5vbiBKSVQgZW52aXJvbm1lbnQgaW4g
WDg2XzY0IGFuZCBBUk02NCBhcmNoaXRlY3R1cmVzLgorICAgICAgICBBbmQgd2UgZW5hYmxlIEVO
QUJMRShBU1NFTUJMRVIpIGZvciBub24gSklUIGVudmlyb25tZW50IHNpbmNlIGl0IG9mZmVycyBt
YWNoaW5lIHJlZ2lzdGVyCisgICAgICAgIGluZm9ybWF0aW9uIHdoaWNoIGlzIHVzZWQgZm9yIExM
SW50IGFuZCBTYW1wbGluZ1Byb2ZpbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTgtMDktMjAgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAK
ICAgICAgICAgW1dpbl1bQ2xhbmddIFVOVVNFRF9QQVJBTSh0aGlzKSBjYXVzZXMgY29tcGlsYXRp
b24gZXJyb3Igb2YgImNhbm5vdCB0YWtlIHRoZSBhZGRyZXNzIG9mIGFuIHJ2YWx1ZSBvZiB0eXBl
IgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0
YWNrT3ZlcmZsb3dUZXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvUGlu
Z1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAKaW5kZXggZmJlNDY4NzIwMzJiODYxMDkwMzM0NWY2
NDdlYWRkYTM0YzBkODk5MS4uODMyYmQxNDBiYzk1ZWFkYmQ1NmI0MjhmNzAzNzE3YTQ3MzRlYmM3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0
YWNrT3ZlcmZsb3dUZXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3Rz
L1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgaW50IHRl
c3RQaW5nUG9uZ1N0YWNrT3ZlcmZsb3coKQogCiAgICAgT3B0aW9uczo6c29mdFJlc2VydmVkWm9u
ZVNpemUoKSA9IDEyOCAqIEtCOwogICAgIE9wdGlvbnM6OnJlc2VydmVkWm9uZVNpemUoKSA9IDY0
ICogS0I7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIC8vIE5vcm1h
bGx5LCB3ZSB3YW50IHRvIGRpc2FibGUgdGhlIExMSU5UIHRvIGZvcmNlIHRoZSB1c2Ugb2YgSklU
dGVkIGNvZGUgd2hpY2ggaXMgbmVjZXNzYXJ5IGZvcgogICAgIC8vIHJlcHJvZHVjaW5nIHRoZSBy
ZWdyZXNzaW9uIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg3
NDkuIEhvd2V2ZXIsIHdlIG9ubHkKICAgICAvLyB3YW50IHRvIGRvIHRoaXMgaWYgdGhlIExMSU5U
IGlzbid0IHRoZSBvbmx5IGF2YWlsYWJsZSBleGVjdXRpb24gZW5naW5lLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDk2ZTMzYTIwNTc3YTRhNTc1NGExZmVhOTQzMmQ3OTY0
MDYxMjQzMjIuLjAxYzcwNWE5NTU3OWE1ZWFmZTVmNjE3Y2RhYzI5ZWE3MzBiNmJhMDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIzMSw3ICsyMzEsOSBAQCBlbHNlICgp
CiAgICAgZW5kaWYgKCkKIAogICAgIGlmIChOT1QgRU5BQkxFX0pJVCkKLSAgICAgICAgc2V0KE9G
RkxJTkVfQVNNX0JBQ0tFTkQgIkNfTE9PUCIpCisgICAgICAgIGlmIChFTkFCTEVfQ19MT09QKQor
ICAgICAgICAgICAgc2V0KE9GRkxJTkVfQVNNX0JBQ0tFTkQgIkNfTE9PUCIpCisgICAgICAgIGVu
ZGlmICgpCiAgICAgZW5kaWYgKCkKIGVuZGlmICgpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggOWM1YzUwYzYyMWI4YjZlM2ZhNzM4YjNmOTZiYjI2YjFhZGJkOGRmZS4uNTdkMGU5
NmU2NTk2NmUwMGQ4ZjMxYWJlYjY2NTMxNWRjZjA0Y2NkZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEwOSw3ICsxMDksNiBAQAogCQkwRjBCODNBOTE0QkNGNTYyMDA4ODVCNEYg
LyogSGFuZGxlckluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMEI4M0E4MTRCQ0Y1NUUwMDg4NUI0RiAvKiBIYW5kbGVySW5mby5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMEI4M0FCMTRCQ0Y1
QkIwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBCODNBQTE0QkNGNUI5MDA4ODVCNEYgLyogRXhw
cmVzc2lvblJhbmdlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTBGMEI4M0IxMTRCQ0Y3MTgwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0FGMTRC
Q0Y3MTQwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjBCODNCOTE0QkNGOTVGMDA4ODVCNEYgLyogQ2Fs
bFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0I4MTRCQ0Y5NUIwMDg4NUI0RiAvKiBDYWxsUmV0
dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTBGMENBRUZDMUVDNERBNkIwMDk3MEQxMiAvKiBKU0hlYXBG
aW5hbGl6ZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjBDQUVGQTFFQzREQTYyMDA5NzBEMTIgLyogSlNIZWFwRmluYWxpemVyUHJpdmF0
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBG
MENBRUZGMUVDNERBODgwMDk3MEQxMiAvKiBIZWFwRmluYWxpemVyQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMENBRUZFMUVDNERBODUw
MDk3MEQxMiAvKiBIZWFwRmluYWxpemVyQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjBDRDRDMjE1RjFBNjA3MDAzMkYxQzAgLyog
UHV0RGlyZWN0SW5kZXhNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjBDRDRDMDE1RjFBNjA0MDAzMkYxQzAgLyogUHV0RGlyZWN0SW5kZXhNb2Rl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIw
MTEsNyArMjAxMCw2IEBACiAJCTBGMEI4M0FBMTRCQ0Y1QjkwMDg4NUI0RiAvKiBFeHByZXNzaW9u
UmFuZ2VJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4cHJlc3Npb25S
YW5nZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYwQjgzQUUxNEJDRjcx
NDAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDYWxsTGlua0luZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxMaW5rSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkwRjBCODNCODE0QkNGOTVCMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRv
Qnl0ZWNvZGVPZmZzZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbFJl
dHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEYwQ0FFRjkxRUM0REE2MjAwOTcwRDEyIC8qIEpTSGVhcEZpbmFsaXplclByaXZhdGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIZWFwRmluYWxpemVyUHJp
dmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMENBRUZBMUVDNERBNjIw
MDk3MEQxMiAvKiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTSGVhcEZpbmFsaXplclByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEYwQ0FFRkQxRUM0REE4NTAwOTcwRDEyIC8qIEhlYXBGaW5hbGl6ZXJDYWxs
YmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIZWFwRmluYWxp
emVyQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzYzMSw3ICs3
NjI5LDYgQEAKIAkJCQkwRjkzMzI5NDE0Q0E3REMxMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMu
aCAqLywKIAkJCQk2Mjc2NzMyMTFCNjgwQzFFMDBGRDlGMkUgLyogQ2FsbE1vZGUuY3BwICovLAog
CQkJCTYyNzY3MzIyMUI2ODBDMUUwMEZEOUYyRSAvKiBDYWxsTW9kZS5oICovLAotCQkJCTBGMEI4
M0I4MTRCQ0Y5NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5o
ICovLAogCQkJCTBGM0I3RTI0MTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxsVmFyaWFudC5jcHAgKi8s
CiAJCQkJMEYzQjdFMjUxOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmggKi8sCiAJCQkJ
OTY5QTA3OTAwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9jay5jcHAgKi8sCkBAIC03ODMwLDcg
Kzc4MjcsNiBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk5OURB
MDA5OTFCRDU5OTI3MDBGNDU3NUMgLyogX19pbml0X18ucHkgKi8sCi0JCQkJOTlEQTAwOUQxQkQ1
OTkyNzAwRjQ1NzVDIC8qIHdrYnVpbHRpbnMucHkgKi8sCiAJCQkJOTlEQTAwOUUxQkQ1OTkyNzAw
RjQ1NzVDIC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2NvbWJpbmVkX2hlYWRlci5weSAqLywKIAkJCQk5
OURBMDA5RjFCRDU5OTI3MDBGNDU3NUMgLyogYnVpbHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaW1w
bGVtZW50YXRpb24ucHkgKi8sCiAJCQkJNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0
aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSAqLywKQEAgLTc4NDIsNiAr
NzgzOCw3IEBACiAJCQkJOTlEQTAwOUExQkQ1OTkyNzAwRjQ1NzVDIC8qIGJ1aWx0aW5zX2dlbmVy
YXRvci5weSAqLywKIAkJCQk5OURBMDA5QjFCRDU5OTI3MDBGNDU3NUMgLyogYnVpbHRpbnNfbW9k
ZWwucHkgKi8sCiAJCQkJOTlEQTAwOUMxQkQ1OTkyNzAwRjQ1NzVDIC8qIGJ1aWx0aW5zX3RlbXBs
YXRlcy5weSAqLywKKwkJCQk5OURBMDA5RDFCRDU5OTI3MDBGNDU3NUMgLyogd2tidWlsdGlucy5w
eSAqLywKIAkJCSk7CiAJCQlwYXRoID0gd2tidWlsdGluczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC04NDM5LDcgKzg0MzYsNiBAQAogCQkJCURFMjZFOTAzMUNCNUREMDUwMEQyQkU4
MiAvKiBCdWlsdGluRXhlY3V0YWJsZUNyZWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDgw
MUE1MTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3NUVFOUIyMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGluTmFtZXMuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTk5REEwMEE2MUJENTk5MzEwMEY0NTc1QyAvKiB3a2J1aWx0aW5zLnB5IGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTlEQTAwQTcxQkQ1OTkzMTAwRjQ1NzVDIC8qIGJ1aWx0aW5zX2dl
bmVyYXRlX2NvbWJpbmVkX2hlYWRlci5weSBpbiBIZWFkZXJzICovLAogCQkJCTk5REEwMEE4MUJE
NTk5MzEwMEY0NTc1QyAvKiBidWlsdGluc19nZW5lcmF0ZV9jb21iaW5lZF9pbXBsZW1lbnRhdGlv
bi5weSBpbiBIZWFkZXJzICovLAogCQkJCTQxMjk1Mjc3MUQyQ0Y2QkMwMEU3OEI4OSAvKiBidWls
dGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLywK
QEAgLTg0ODEsNyArODQ3Nyw2IEBACiAJCQkJMEYwQjgzQjExNEJDRjcxODAwODg1QjRGIC8qIENh
bGxMaW5rSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5MzMyOUUxNENBN0RDNTAwODVGM0M2
IC8qIENhbGxMaW5rU3RhdHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2Mjc2NzMyNDFCNjgwQzFF
MDBGRDlGMkUgLyogQ2FsbE1vZGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTBGMEI4M0I5MTRCQ0Y5
NUYwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYzQjdFMkIxOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlGRTgwQzE5NzFENzc1Q0REMDA4NTEwQzAgLyogQ2F0Y2hTY29wZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyNEU1NDIxN0VBOUY1OTAwQUJCMjE3IC8qIENDYWxsSGVs
cGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC05Njg5LDYgKzk2ODQsNyBAQAogCQkJCUFEQkM1NEQ1
MURGOEVBMkIwMDVCRjczOCAvKiBXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUyRjZDMzVFMUU3MUVCMDgwMDgxRjRDQyAvKiBXZWJBc3NlbWJseVdyYXBwZXJGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0N0EwRTE2RjVDRDAwQjM0NDYwIC8qIFdl
YktpdEF2YWlsYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTlEQTAwQTYxQkQ1OTkzMTAw
RjQ1NzVDIC8qIHdrYnVpbHRpbnMucHkgaW4gSGVhZGVycyAqLywKIAkJCQlBN0RDQjk3MzEyRTUx
OTNGMDA5MTE5NDAgLyogV3JpdGVCYXJyaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkI2RDc1
MzE4QTMzNzkzMDA0QTkzMDEgLyogV3JpdGVCYXJyaWVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEZDODE1MEExNDA0M0JGNTAwQ0ZBNjAzIC8qIFdyaXRlQmFycmllclN1cHBvcnQuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oCmluZGV4IGM2ZjUzYjM0
Nzk2NmM2NjM1NGQwMWY4YWQ2ZGNmYmNjODk3OWZmNzMuLjQzMjEzMDVjNjhlNGRhZjYyODIzZjZl
ZWY3NTk1MWZhMjdhOTM2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgKQEAgLTM1
LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyB0aGF0IGNhbiBiZSB1c2VkIGZvciBvdXRn
b2luZyBhcmdzIHdoZW4gY2FsbGluZyBhIHNsb3cgcGF0aCBDIGZ1bmN0aW9uCiAvLyBmcm9tIEpT
IGNvZGUuCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKEFTU0VNQkxFUikKIHN0YXRp
YyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSAwOwogCiAjZWxp
ZiBDUFUoWDg2XzY0KSAmJiBPUyhXSU5ET1dTKQpAQCAtNjksNyArNjksNyBAQCBzdGF0aWMgY29u
c3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gNDA7CiAKIENPTVBJTEVf
QVNTRVJUKCEobWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgJSBzaXplb2YoUmVnaXN0ZXIp
KSwgZXh0ZW50X211c3RfYmVfaW5fbXVsdGlwbGVzX29mX3JlZ2lzdGVycyk7CiAKLSNpZiBFTkFC
TEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAvLyBNYWtlIHN1cmUgdGhhdCBjZnIgLSBt
YXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCBieXRlcyB3aWxsIG1ha2UgdGhlIHN0YWNrIHBv
aW50ZXIgYWxpZ25lZAogQ09NUElMRV9BU1NFUlQoKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsICUgMTYpID09IDE2IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpLCBleHRlbnRfbXVzdF9h
bGlnbl9zdGFja19mcm9tX2NhbGxmcmFtZV9wb2ludGVyKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2Rl
T2Zmc2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbFJldHVybk9mZnNl
dFRvQnl0ZWNvZGVPZmZzZXQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQxYjAw
Y2JlODE4MTIyZjZlNzIwMjc3Y2NjZjIwNjZhYmY3ZWFhNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDU0
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBKU0MgewotCi0jaWYgRU5BQkxFKEpJVCkKLS8vIFRo
aXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gbWFwIGZyb20gYSBjYWxsIHJldHVybiBsb2NhdGlvbgot
Ly8gKGdpdmVuIGFzIGFuIG9mZnNldCBpbiBieXRlcyBpbnRvIHRoZSBKSVQgY29kZSkgYmFjayB0
bwotLy8gdGhlIGJ5dGVjb2RlIGluZGV4IG9mIHRoZSBjb3JyZXNwb25kaW5nIGJ5dGVjb2RlIG9w
ZXJhdGlvbi4KLS8vIFRoaXMgaXMgdGhlbiB1c2VkIHRvIGxvb2sgdXAgdGhlIGNvcnJlc3BvbmRp
bmcgaGFuZGxlci4KLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtYWRlIGlubGluaW5nIGF3YXJl
ISBDdXJyZW50bHkgaXQgaXNuJ3QKLS8vIGJlY2F1c2Ugd2UgbmV2ZXIgaW5saW5lIGNvZGUgdGhh
dCBoYXMgZXhjZXB0aW9uIGhhbmRsZXJzLgotc3RydWN0IENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0IHsKLSAgICBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldCh1bnNpZ25l
ZCBjYWxsUmV0dXJuT2Zmc2V0LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCkKLSAgICAgICAgOiBj
YWxsUmV0dXJuT2Zmc2V0KGNhbGxSZXR1cm5PZmZzZXQpCi0gICAgICAgICwgYnl0ZWNvZGVPZmZz
ZXQoYnl0ZWNvZGVPZmZzZXQpCi0gICAgewotICAgIH0KLQotICAgIHVuc2lnbmVkIGNhbGxSZXR1
cm5PZmZzZXQ7Ci0gICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQ7Ci19OwotCi1pbmxpbmUgdW5z
aWduZWQgZ2V0Q2FsbFJldHVybk9mZnNldChDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNl
dCogcGMpCi17Ci0gICAgcmV0dXJuIHBjLT5jYWxsUmV0dXJuT2Zmc2V0OwotfQotI2VuZGlmCi0K
LX0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAppbmRleCAyN2FmMGZkZTJjMDhjNWE1NGZiODE5ZDFhY2MzYjEzNGU3NjMxNWUz
Li42NTRjMTQ3MTc3ODRlYmY5NjE5ZjM1YjQ0Njc1OGFlOTAxNDAyNGExIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtODksNyArODksNyBAQAog
I2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1Vu
aXF1ZWRTdHJpbmdJbXBsLmg+CiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJM
RVIpCiAjaW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldExpc3QuaCIKICNlbmRpZgogCkBAIC01MDks
NyArNTA5LDcgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2NyaXB0
RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKICAgICBpZiAoc2l6ZV90IHNpemUg
PSB1bmxpbmtlZENvZGVCbG9jay0+bnVtYmVyT2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZXMoKSkK
ICAgICAgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZXMgPSBSZWZDb3VudGVkQXJyYXk8T2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU+KHNpemUpOwogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5B
QkxFKENfTE9PUCkKICAgICBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJzKFJlZ2lzdGVyU2V0OjpsbGlu
dEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKICNlbmRpZgogCkBAIC0yMTQ1LDcgKzIx
NDUsNyBAQCB1bnNpZ25lZCBDb2RlQmxvY2s6OnJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyKCkg
Y29uc3QKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAh
RU5BQkxFKENfTE9PUCkKIHZvaWQgQ29kZUJsb2NrOjpzZXRDYWxsZWVTYXZlUmVnaXN0ZXJzKFJl
Z2lzdGVyU2V0IGNhbGxlZVNhdmVSZWdpc3RlcnMpCiB7CiAgICAgbV9jYWxsZWVTYXZlUmVnaXN0
ZXJzID0gc3RkOjptYWtlX3VuaXF1ZTxSZWdpc3RlckF0T2Zmc2V0TGlzdD4oY2FsbGVlU2F2ZVJl
Z2lzdGVycyk7CkBAIC0yMTcyLDYgKzIxNzIsOSBAQCBzaXplX3QgQ29kZUJsb2NrOjpjYWxsZWVT
YXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKQogewogICAgIHJldHVybiByb3VuZENhbGxlZVNh
dmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyhtX2NhbGxlZVNhdmVSZWdpc3RlcnMtPnNpemUoKSk7
CiB9CisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpCiAKIHZvaWQgQ29kZUJsb2NrOjpjb3VudFJl
b3B0aW1pemF0aW9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAppbmRleCBhM2EzZDI2MzkwMGQzMTIyYzA5ZTIwNGYzMmI1N2IzZTEwMWEzMmIyLi4wMTQ3
ZDdhNzljODlkNjFmNDIzZmQ0ZGVkZDNjY2M2ZTFlNDIzN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC02NDUsMTEgKzY0NSwyMyBAQCBjbGFzcyBD
b2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAvLyB0byBhdm9pZCB0aHJhc2hpbmcuCiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXIo
KSBjb25zdDsKICAgICB2b2lkIGNvdW50UmVvcHRpbWl6YXRpb24oKTsKLSNpZiBFTkFCTEUoSklU
KQorCisjaWYgIUVOQUJMRShDX0xPT1ApCisgICAgdm9pZCBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJz
KFJlZ2lzdGVyU2V0KTsKKyAgICB2b2lkIHNldENhbGxlZVNhdmVSZWdpc3RlcnMoc3RkOjp1bmlx
dWVfcHRyPFJlZ2lzdGVyQXRPZmZzZXRMaXN0Pik7CisKKyAgICBSZWdpc3RlckF0T2Zmc2V0TGlz
dCogY2FsbGVlU2F2ZVJlZ2lzdGVycygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU2F2ZVJlZ2lz
dGVycy5nZXQoKTsgfQorCiAgICAgc3RhdGljIHVuc2lnbmVkIG51bWJlck9mTExJbnRCYXNlbGlu
ZUNhbGxlZVNhdmVSZWdpc3RlcnMoKSB7IHJldHVybiBSZWdpc3RlclNldDo6bGxpbnRCYXNlbGlu
ZUNhbGxlZVNhdmVSZWdpc3RlcnMoKS5udW1iZXJPZlNldFJlZ2lzdGVycygpOyB9CiAgICAgc3Rh
dGljIHNpemVfdCBsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJz
KCk7CiAgICAgc2l6ZV90IGNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpOworI2Vs
c2UKKyAgICBzdGF0aWMgdW5zaWduZWQgbnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJl
Z2lzdGVycygpIHsgcmV0dXJuIDA7IH0KKyAgICBzdGF0aWMgc2l6ZV90IGxsaW50QmFzZWxpbmVD
YWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9OworICAgIHNp
emVfdCBjYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9Cisj
ZW5kaWYKIAorI2lmIEVOQUJMRShKSVQpCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZERkdDb21waWxl
cygpOwogCiAgICAgaW50MzJfdCBjb2RlVHlwZVRocmVzaG9sZE11bHRpcGxpZXIoKSBjb25zdDsK
QEAgLTczOSwxNCArNzUxLDcgQEAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEpTQ2VsbCB7CiAg
ICAgYm9vbCBzaG91bGRSZW9wdGltaXplTm93KCk7CiAgICAgYm9vbCBzaG91bGRSZW9wdGltaXpl
RnJvbUxvb3BOb3coKTsKIAotICAgIHZvaWQgc2V0Q2FsbGVlU2F2ZVJlZ2lzdGVycyhSZWdpc3Rl
clNldCk7Ci0gICAgdm9pZCBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJzKHN0ZDo6dW5pcXVlX3B0cjxS
ZWdpc3RlckF0T2Zmc2V0TGlzdD4pOwotICAgIAotICAgIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBj
YWxsZWVTYXZlUmVnaXN0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJz
LmdldCgpOyB9CiAjZWxzZSAvLyBObyBKSVQKLSAgICBzdGF0aWMgdW5zaWduZWQgbnVtYmVyT2ZM
TEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpIHsgcmV0dXJuIDA7IH0KLSAgICBzdGF0
aWMgc2l6ZV90IGxsaW50QmFzZWxpbmVDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMo
KSB7IHJldHVybiAwOyB9OwotICAgIHNpemVfdCBjYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdp
c3RlcnMoKSB7IHJldHVybiAwOyB9CiAgICAgdm9pZCBvcHRpbWl6ZUFmdGVyV2FybVVwKCkgeyB9
CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZERkdDb21waWxlcygpIHsgcmV0dXJuIDA7IH0KICNlbmRp
ZgpAQCAtOTY1LDggKzk3MCwxMCBAQCBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsK
ICAgICBTZW50aW5lbExpbmtlZExpc3Q8TExJbnRDYWxsTGlua0luZm8sIEJhc2ljUmF3U2VudGlu
ZWxOb2RlPExMSW50Q2FsbExpbmtJbmZvPj4gbV9pbmNvbWluZ0xMSW50Q2FsbHM7CiAgICAgU3Ry
dWN0dXJlV2F0Y2hwb2ludE1hcCBtX2xsaW50R2V0QnlJZFdhdGNocG9pbnRNYXA7CiAgICAgUG9p
c29uZWRSZWZQdHI8Q29kZUJsb2NrUG9pc29uLCBKSVRDb2RlPiBtX2ppdENvZGU7Ci0jaWYgRU5B
QkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVnaXN0
ZXJBdE9mZnNldExpc3Q+IG1fY2FsbGVlU2F2ZVJlZ2lzdGVyczsKKyNlbmRpZgorI2lmIEVOQUJM
RShKSVQpCiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBTdHJ1Y3R1cmVTdHViSW5m
bz4gbV9zdHViSW5mb3M7CiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBKSVRBZGRJ
Qz4gbV9hZGRJQ3M7CiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBKSVRNdWxJQz4g
bV9tdWxJQ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKaW5kZXggNGVm
Mjc0ZmFlYjM0YjAxZjhlY2JjNmQ0ZGY5NTQwMWM4OTk3ZGEzOC4uYmUzODhlMTg5YzkzNzY2ZTRl
MGRmYWIxMjJiYTUxNWM2MDE0MTY3YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
cGNvZGUuaApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICN1bmRlZiBPUENPREVf
SURfRU5VTQogCiBjb25zdCBpbnQgbWF4T3Bjb2RlTGVuZ3RoID0gOTsKLSNpZiAhRU5BQkxFKEpJ
VCkKKyNpZiBFTkFCTEUoQ19MT09QKQogY29uc3QgaW50IG51bU9wY29kZUlEcyA9IE5VTUJFUl9P
Rl9CWVRFQ09ERV9JRFMgKyBOVU1CRVJfT0ZfQ0xPT1BfQllURUNPREVfSEVMUEVSX0lEUyArIE5V
TUJFUl9PRl9CWVRFQ09ERV9IRUxQRVJfSURTOwogI2Vsc2UKIGNvbnN0IGludCBudW1PcGNvZGVJ
RHMgPSBOVU1CRVJfT0ZfQllURUNPREVfSURTICsgTlVNQkVSX09GX0JZVEVDT0RFX0hFTFBFUl9J
RFM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4IDdhNDZhNTJlN2EzNzg1NDAy
YmYyMTM3N2QwODU0MWE0ZDU3Y2YwZDAuLmNjNGEzMzY1MWEyZjE5NmZjYWZiMzJhY2MwYTYwM2Q5
ODg4MjNmMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC02NzIsNyArNjcy
LDcgQEAgdm9pZCBIZWFwOjpnYXRoZXJTdGFja1Jvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJiByb290
cykKIAogdm9pZCBIZWFwOjpnYXRoZXJKU1N0YWNrUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMmIHJv
b3RzKQogewotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAgICAgbV92bS0+
aW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5nYXRoZXJDb25zZXJ2YXRpdmVSb290cyhyb290cywg
Km1faml0U3R1YlJvdXRpbmVzLCAqbV9jb2RlQmxvY2tzKTsKICNlbHNlCiAgICAgVU5VU0VEX1BB
UkFNKHJvb3RzKTsKQEAgLTE2MDUsOSArMTYwNSw4IEBAIHZvaWQgSGVhcDo6c3RvcFRoZVBlcmlw
aGVyeShHQ0NvbmR1Y3RvciBjb25uKQogICAgICAgICAgICAgJiYgY29ubiA9PSBHQ0NvbmR1Y3Rv
cjo6Q29sbGVjdG9yKQogICAgICAgICAgICAgc2V0R0NEaWRKSVQoKTsKICAgICB9Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZiAvLyBFTkFCTEUoSklUKQorICAgIFVOVVNF
RF9QQVJBTShjb25uKTsKICAgICAKICAgICB2bSgpLT5zaGFkb3dDaGlja2VuKCkudXBkYXRlKCp2
bSgpLCB2bSgpLT50b3BDYWxsRnJhbWUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwCmluZGV4IGFiYzEwYThmZWFkMjg2MTUxOTY5
YmEyMjM1Y2IzNDdjN2U2MWU4NTcuLjlhMjAwNzI2NjI4OGI4YWRlZTNiODkwNTRlYjcyNjEyNTQ1
NDI3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9v
cFN0YWNrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BT
dGFjay5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJDTG9vcFN0YWNrLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQog
CiAjaW5jbHVkZSAiQ0xvb3BTdGFja0lubGluZXMuaCIKICNpbmNsdWRlICJDb25zZXJ2YXRpdmVS
b290cy5oIgpAQCAtMTYzLDQgKzE2Myw0IEBAIHNpemVfdCBDTG9vcFN0YWNrOjpjb21taXR0ZWRC
eXRlQ291bnQoKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklU
KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NMb29wU3RhY2suaAppbmRleCA5ZTVkZGExNGIyYmIwZDRmYzc3ZjVjN2Q2OTk0
YTdiZjI3NzFmMWJiLi4xZjRkOTlkOGI0MzRlOWI0NzllNDgzN2EyOWRmZGMxYmM1YzdhYjU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmgKQEAg
LTI4LDcgKzI4LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBF
TkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KQEAgLTEwNyw0ICsxMDcsNCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUo
Q19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NM
b29wU3RhY2tJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xv
b3BTdGFja0lubGluZXMuaAppbmRleCA5OTdmYWY2NmNjMzc4ODhmMTZjMmEzNWYwZGI1MjEzNTYz
Y2RjM2VlLi5mNmJhMTdjYzEwMDc2YzdmNDc5ZDk1ZjY2ZDViZGVkMmJlYjU1ZTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGlu
ZXMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmICFFTkFCTEUoSklU
KQorI2lmIEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJDTG9vcFN0YWNrLmgiCiAjaW5jbHVk
ZSAiQ2FsbEZyYW1lLmgiCkBAIC01OSw0ICs1OSw0IEBAIGlubGluZSB2b2lkIENMb29wU3RhY2s6
OnNldENMb29wU3RhY2tMaW1pdChSZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIAogfSAvLyBuYW1l
c3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQ19M
T09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0VudHJ5
RnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9FbnRyeUZyYW1lLmgK
aW5kZXggYmU4NDI1OTBmNmU5MGNjZGE2MTQ4ZmM2MGQwMWJiMjY3YzRhNGM4Ni4uOTUwOTU4ZDkz
NjViOGE1NWQ1NWIyOTY4OTc4NmFmYzAzNDNkOGU3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL0VudHJ5RnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5oCkBAIC0zMSw3ICszMSw3IEBACiBuYW1lc3Bh
Y2UgSlNDIHsKIAogc3RydWN0IEVudHJ5RnJhbWUgewotI2lmIEVOQUJMRShKSVQpICYmIE5VTUJF
Ul9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAorI2lmICFFTkFCTEUoQ19MT09QKSAmJiBO
VU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKICAgICBzdGF0aWMgcHRyZGlmZl90
IHZtRW50cnlSZWNvcmRPZmZzZXQoKQogICAgIHsKICAgICAgICAgRW50cnlGcmFtZSogZmFrZUVu
dHJ5RnJhbWUgPSByZWludGVycHJldF9jYXN0PEVudHJ5RnJhbWUqPigweDEwMDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXgg
NzEyNmQwMjlmNjIyM2IyZWEyMDAyNmE5MjY1ZGQ5NTJlYjQwNTI1NS4uYmJjNjlkYjY5YjFlN2Y5
ODQ0YzI3ODE0NjkyZTBiMGRmM2ZkZDdmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVk
ZSAiUHJvdG9DYWxsRnJhbWUuaCIKICNpbmNsdWRlICJSZWdFeHBPYmplY3QuaCIKICNpbmNsdWRl
ICJSZWdpc3Rlci5oIgorI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZzZXRMaXN0LmgiCiAjaW5jbHVk
ZSAiU2NvcGVkQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKICNpbmNs
dWRlICJTdGFja0ZyYW1lLmgiCkBAIC0zMzIsNyArMzMzLDcgQEAgdm9pZCBzZXR1cEZvcndhcmRB
cmd1bWVudHNGcmFtZUFuZFNldFRoaXMoQ2FsbEZyYW1lKiBleGVjQ2FsbGVyLCBDYWxsRnJhbWUq
IGV4ZWMKIAogSW50ZXJwcmV0ZXI6OkludGVycHJldGVyKFZNJiB2bSkKICAgICA6IG1fdm0odm0p
Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICAsIG1fY2xvb3BTdGFj
ayh2bSkKICNlbmRpZgogewpAQCAtNTYzLDcgKzU2NCw3IEBAIGNsYXNzIFVud2luZEZ1bmN0b3Ig
ewogcHJpdmF0ZToKICAgICB2b2lkIGNvcHlDYWxsZWVTYXZlc1RvRW50cnlGcmFtZUNhbGxlZVNh
dmVzQnVmZmVyKFN0YWNrVmlzaXRvciYgdmlzaXRvcikgY29uc3QKICAgICB7Ci0jaWYgRU5BQkxF
KEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCisjaWYgIUVOQUJM
RShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAogICAgICAg
ICBSZWdpc3RlckF0T2Zmc2V0TGlzdCogY3VycmVudENhbGxlZVNhdmVzID0gdmlzaXRvci0+Y2Fs
bGVlU2F2ZVJlZ2lzdGVycygpOwogCiAgICAgICAgIGlmICghY3VycmVudENhbGxlZVNhdmVzKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRl
eCAwOGQ2NWJhNWJhZTM3NjAxNmZhNDcxMjkyOGJjNGZiYWVkNDI1NWZlLi44MTE3NTA2NjIzMjhh
Njg3ZjFjNzY5ZWViMTI2NTcxYTEzMjM3Y2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUg
IlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotI2lmICFFTkFC
TEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAjaW5jbHVkZSAiQ0xvb3BTdGFjay5oIgogI2Vu
ZGlmCiAKQEAgLTkzLDcgKzkzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEludGVycHJl
dGVyKFZNICYpOwogICAgICAgICB+SW50ZXJwcmV0ZXIoKTsKICAgICAgICAgCi0jaWYgIUVOQUJM
RShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICAgICAgQ0xvb3BTdGFjayYgY2xvb3BTdGFj
aygpIHsgcmV0dXJuIG1fY2xvb3BTdGFjazsgfQogI2VuZGlmCiAgICAgICAgIApAQCAtMTQ3LDcg
KzE0Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU1ZhbHVlIGV4ZWN1dGUoQ2FsbEZy
YW1lQ2xvc3VyZSYpOwogCiAgICAgICAgIFZNJiBtX3ZtOwotI2lmICFFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShDX0xPT1ApCiAgICAgICAgIENMb29wU3RhY2sgbV9jbG9vcFN0YWNrOwogI2VuZGlm
CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L1N0YWNrVmlzaXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcAppbmRleCA2MDkxMWFiMWU1N2MxZDUxMjM3ZDljYzdmNmEwOTY1ZWViMjdh
NjI0Li4yZThjOWE2MmIyNmFjYjA0M2VmZTRiYjZmZDBlNDdlNjUwZjMxNjRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcApAQCAt
MjU3LDcgKzI1Nyw3IEBAIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBTdGFja1Zpc2l0b3I6OkZyYW1l
OjpjYWxsZWVTYXZlUmVnaXN0ZXJzKCkKICAgICBpZiAoaXNJbmxpbmVkRnJhbWUoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSNpZiBFTkFCTEUoSklUKSAmJiBOVU1CRVJfT0ZfQ0FMTEVF
X1NBVkVTX1JFR0lTVEVSUyA+IDAKKyNpZiAhRU5BQkxFKENfTE9PUCkgJiYgTlVNQkVSX09GX0NB
TExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCiAKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCiAgICAg
aWYgKGlzV2FzbUZyYW1lKCkpIHsKQEAgLTI3Myw3ICsyNzMsNyBAQCBSZWdpc3RlckF0T2Zmc2V0
TGlzdCogU3RhY2tWaXNpdG9yOjpGcmFtZTo6Y2FsbGVlU2F2ZVJlZ2lzdGVycygpCiAgICAgaWYg
KENvZGVCbG9jayogY29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2NrKCkpCiAgICAgICAgIHJldHVy
biBjb2RlQmxvY2stPmNhbGxlZVNhdmVSZWdpc3RlcnMoKTsKIAotI2VuZGlmIC8vIEVOQUJMRShK
SVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAorI2VuZGlmIC8vICFF
TkFCTEUoQ19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKIAog
ICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1ZNRW50cnlSZWNvcmQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9WTUVudHJ5UmVjb3JkLmgKaW5kZXggZWRiN2U3ZThjOGJiYzI5ODVkMWM0MTVjYTQ1
ZTlmNTBlZmM2YzZkMC4uMjFhZTM1YjY5MWRjM2VkZWE5ZmE3ZjBkN2RhYjU5ZDdjMjZjYWVjMyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZNRW50cnlSZWNv
cmQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvVk1FbnRyeVJlY29y
ZC5oCkBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBWTUVudHJ5UmVjb3JkIHsKIAogICAgIEpTT2Jq
ZWN0KiBjYWxsZWUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZTsgfQogCi0jaWYgRU5BQkxFKEpJ
VCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCisjaWYgIUVOQUJMRShD
X0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAogICAgIGludHB0
cl90IGNhbGxlZVNhdmVSZWdpc3RlcnNCdWZmZXJbTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJ
U1RFUlNdOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
RXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmgKaW5kZXggMThiZGU0MWNlNGYxNDg5MzkyZDU5ZWUyNmNiMjNjMmYyNDRi
Mjg0Ny4uMDc3ZWQ1ODJlYTk0OGE0MTQxZGRhZTI3N2QwYjQ0ZWQ0MzUwN2ZiNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAgLTE0NSw3
ICsxNDUsNyBAQCBjbGFzcyBFeGVjdXRhYmxlQWxsb2NhdG9yIHsKIAogI2Vsc2UKIGlubGluZSBi
b29sIGlzSklUUEModm9pZCopIHsgcmV0dXJuIGZhbHNlOyB9Ci0jZW5kaWYgLy8gRU5BQkxFKEpJ
VCkgJiYgRU5BQkxFKEFTU0VNQkxFUikKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9GUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8uaAppbmRleCBh
MjRkMWNiNzVhM2ZmOTliNjM4OTVlYmJkMTc5YWU2MTQyZGE1NmVjLi40OGY0MDIyZWRlM2E3YjI3
OGI4ZWI1MWM2ZmU4YTNkN2MyMTcyYjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0ZQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8u
aApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIHR5cGVkZWYgTWFjcm9Bc3NlbWJs
ZXI6OkZQUmVnaXN0ZXJJRCBGUFJSZWc7CiBzdGF0aWMgY29uc3RleHByIEZQUlJlZyBJbnZhbGlk
RlBSUmVnIHsgRlBSUmVnOjpJbnZhbGlkRlBSUmVnIH07CiAKLSNpZiBFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShBU1NFTUJMRVIpCiAKICNpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KQogCkBAIC0z
MzIsNyArMzMyLDcgQEAgY2xhc3MgRlBSSW5mbyB7CiAvLyBXZSB1c2UgdGhpcyBoYWNrIHRvIGdl
dCB0aGUgRlBSSW5mbyBmcm9tIHRoZSBGUFJSZWcgdHlwZSBpbiB0ZW1wbGF0ZXMgYmVjYXVzZSBv
dXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVsIGJhZC4uCiBjb25zdGV4cHIgRlBSSW5m
byB0b0luZm9Gcm9tUmVnKEZQUlJlZykgeyByZXR1cm4gRlBSSW5mbygpOyB9CiAKLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCkBAIC0zNDAsNyArMzQwLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIGlubGluZSB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpGUFJSZWcgcmVnKQogewot
I2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICAgICBvdXQucHJpbnQoIiUi
LCBKU0M6OkZQUkluZm86OmRlYnVnTmFtZShyZWcpKTsKICNlbHNlCiAgICAgb3V0LnByaW50Zigi
JSVmciVkIiwgcmVnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BS
SW5mby5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uY3BwCmluZGV4IDVh
ODAwNWY5Yjg1ZDFjMGNmOThlMGMzMDNmZTkxYWE1MTZkNTk5MmYuLmFmOGUzNTgwNzRjZDQ1MzM4
ZDQ2NTQ5MWE1MmUwMjFhODcwN2JmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvR1BSSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZv
LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQ
UkluZm8uaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTQ4LDQgKzQ4LDQgQEAgY29uc3QgR1BSUmVnIEdQUkluZm86OnBh
dGNocG9pbnRTY3JhdGNoUmVnaXN0ZXIgPSBBUk02NFJlZ2lzdGVyczo6aXAwOwogCiB9IC8vIG5h
bWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFT
U0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5kZXggMmQzNzRlM2I4NTlk
M2RhYzc2ZmI4ZjRkZmMwOGExMGYxMzAwZTg3NC4uODA1NDQ5ZjdiMTU3ZjIxMzRhNzFkM2Q5OGFm
MzhlNjk5MWZmNzQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJ
bmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAgLTQxLDcg
KzQxLDcgQEAgZW51bSBOb1Jlc3VsdFRhZyB7IE5vUmVzdWx0IH07CiB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyOjpSZWdpc3RlcklEIEdQUlJlZzsKIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIEludmFs
aWRHUFJSZWcgeyBHUFJSZWc6OkludmFsaWRHUFJSZWcgfTsKIAotI2lmIEVOQUJMRShKSVQpCisj
aWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiBjbGFzcyBKU1ZhbHVl
UmVncyB7CkBAIC04MTYsNyArODE2LDcgQEAgaW5saW5lIE5vUmVzdWx0VGFnIGV4dHJhY3RSZXN1
bHQoTm9SZXN1bHRUYWcpIHsgcmV0dXJuIE5vUmVzdWx0OyB9CiAvLyBXZSB1c2UgdGhpcyBoYWNr
IHRvIGdldCB0aGUgR1BSSW5mbyBmcm9tIHRoZSBHUFJSZWcgdHlwZSBpbiB0ZW1wbGF0ZXMgYmVj
YXVzZSBvdXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVsIGJhZC4uCiBjb25zdGV4cHIg
R1BSSW5mbyB0b0luZm9Gcm9tUmVnKEdQUlJlZykgeyByZXR1cm4gR1BSSW5mbygpOyB9CiAKLSNl
bmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCkBAIC04MjQsNyArODI0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIGlu
bGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpHUFJSZWcgcmVn
KQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICAgICBvdXQucHJp
bnQoIiUiLCBKU0M6OkdQUkluZm86OmRlYnVnTmFtZShyZWcpKTsKICNlbHNlCiAgICAgb3V0LnBy
aW50ZigiJSVyJWQiLCByZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSG9z
dENhbGxSZXR1cm5WYWx1ZS5jcHAKaW5kZXggZThkMDE5MTZiOWM1OTA0Nzk1Y2NjNWRiNmM0ZTZj
ZTgzNjExMTMwMi4uMTM3NWJiOTJjYzBkZWJiY2I3ZWFlZTAyNThkYjEwZjJmYmQ5NTgxMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuY3Bw
CkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSG9zdENh
bGxSZXR1cm5WYWx1ZS5oIgogCisjaWYgIUVOQUJMRShDX0xPT1ApCisKICNpbmNsdWRlICJDYWxs
RnJhbWUuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTT2Jq
ZWN0LmgiCkBAIC0zNSw3ICszNywxMDkgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLS8vIE5vdGhp
bmcgdG8gc2VlIGhlcmUuCisvLyBOb3RlOiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNT
dGF0ZSgpIG5lZWRzIHRvIGJlIHBsYWNlZCBiZWZvcmUgdGhlCisvLyBkZWZpbml0aW9uIG9mIGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUoKSBiZWxvdyBiZWNhdXNlIHRoZSBXaW5kb3dzIGJ1aWxkCisv
LyByZXF1aXJlcyBpdC4KK2V4dGVybiAiQyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVS
Tl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUoRXhlY1N0
YXRlKiBleGVjKQoreworICAgIGlmICghZXhlYykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShKU1ZhbHVlKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZXhlYy0+dm0oKS5o
b3N0Q2FsbFJldHVyblZhbHVlKTsKK30KKworI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYg
Q1BVKFg4Nl82NCkKK2FzbSAoCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4i
CitTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCisgICAgImxl
YSAtOCglcnNwKSwgJXJkaVxuIgorICAgICJqbXAgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKKyk7CisKKyNlbGlmIENPTVBJTEVSKEdD
Q19PUl9DTEFORykgJiYgQ1BVKFg4NikKK2FzbSAoCisiLnRleHQiICJcbiIgXAorIi5nbG9ibCAi
IFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSElERV9TWU1CT0wo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiOiIgIlxuIgorICAgICJwdXNoICVlYnBcbiIKKyAgICAibW92ICVlc3AsICVl
YXhcbiIKKyAgICAibGVhbCAtNCglZXNwKSwgJWVzcFxuIgorICAgICJwdXNoICVlYXhcbiIKKyAg
ICAiY2FsbCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNT
dGF0ZSkgIlxuIgorICAgICJsZWFsIDgoJWVzcCksICVlc3BcbiIKKyAgICAicG9wICVlYnBcbiIK
KyAgICAicmV0XG4iCispOworCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShB
Uk1fVEhVTUIyKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5hbGlnbiAyIiAiXG4iCisiLmdsb2Js
ICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitISURFX1NZTUJP
TChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCisiLnRodW1iIiAiXG4iCisiLnRodW1iX2Z1
bmMgIiBUSFVNQl9GVU5DX1BBUkFNKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJP
TF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICAic3ViIHIwLCBz
cCwgIzgiICJcbiIKKyAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZh
bHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorKTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5H
KSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5nbG9ibCAi
IFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSElERV9TWU1CT0wo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSU5MSU5FX0FSTV9GVU5DVElPTihnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKQorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
OiIgIlxuIgorICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJF
TkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxp
ZiBDUFUoQVJNNjQpCithc20gKAorIi50ZXh0IiAiXG4iCisiLmFsaWduIDIiICJcbiIKKyIuZ2xv
YmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK0hJREVfU1lN
Qk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICAgInN1YiB4MCwgc3AsICMxNiIgIlxuIgorICAg
ICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0
ZSkgIlxuIgorKTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoTUlQUykK
KworI2lmIFdURl9NSVBTX1BJQworI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0aW9u
KSBcCisgICAgICAgICIuc2V0IG5vcmVvcmRlciIgIlxuIiBcCisgICAgICAgICIuY3Bsb2FkICQy
NSIgIlxuIiBcCisgICAgICAgICIuc2V0IHJlb3JkZXIiICJcbiIgXAorICAgICAgICAibGEgJHQ5
LCAiIExPQ0FMX1JFRkVSRU5DRShmdW5jdGlvbikgIlxuIgorI2Vsc2UKKyNkZWZpbmUgTE9BRF9G
VU5DVElPTl9UT19UOShmdW5jdGlvbikgIiIgIlxuIgorI2VuZGlmCisKK2FzbSAoCisiLnRleHQi
ICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJc
biIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJ
TkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICBMT0FEX0ZVTkNUSU9OX1RP
X1Q5KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKQorICAgICJhZGRpICRhMCwg
JHNwLCAtOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxpZiBDT01QSUxFUihNU1ZDKSAmJiBD
UFUoWDg2KQorZXh0ZXJuICJDIiB7CisgICAgX19kZWNsc3BlYyhuYWtlZCkgRW5jb2RlZEpTVmFs
dWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSgp
CisgICAgeworICAgICAgICBfX2FzbSBsZWEgZWF4LCBbZXNwIC0gNF0KKyAgICAgICAgX19hc20g
bW92IFtlc3AgKyA0XSwgZWF4OworICAgICAgICBfX2FzbSBqbXAgZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUKKyAgICB9Cit9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgSlND
CiAKKyNlbmRpZiAvLyAhRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKaW5kZXggNjJlYjJhNTY2Yjk4MTAyMDI3NzIzYTI3
MjZhZWY0NzI2YWViZDZjZS4uZDIxMWQxNGQ4Njk0Y2UwNWQ5OGI0ZDM2MDM0Y2RjNmZiOTEyNDcy
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZh
bHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVl
LmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKIAotI2lmIEVO
QUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAKICNpZiBDQUxMSU5HX0NPTlZFTlRJT05f
SVNfU1REQ0FMTAogI2RlZmluZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBDREVDTApA
QCAtNTcsNCArNTcsNCBAQCBpbmxpbmUgdm9pZCBpbml0aWFsaXplSG9zdENhbGxSZXR1cm5WYWx1
ZSgpIHsgfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcAppbmRleCBiMmViNDE4Y2ZmODlkNTIzMDIyYTYxYWRiMGI4YmU0ZjY4ODAy
ZTYyLi43YWFjZjZiMWMxNmY5MjE1YTJkODY1ODY2ZjNkMmMzYTg5MWQ0ZWNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTI5MDgsMTA5ICsyOTA4
LDYgQEAgaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNoZWNrSWZFeGNlcHRpb25Jc1Vu
Y2F0Y2hhYmxlQW5kTm90aWZ5UHJvZmlsZXIoRXgKIAogfSAvLyBleHRlcm4gIkMiCiAKLS8vIE5v
dGU6IGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKCkgbmVlZHMgdG8gYmUgcGxh
Y2VkIGJlZm9yZSB0aGUKLS8vIGRlZmluaXRpb24gb2YgZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSgp
IGJlbG93IGJlY2F1c2UgdGhlIFdpbmRvd3MgYnVpbGQKLS8vIHJlcXVpcmVzIGl0LgotZXh0ZXJu
ICJDIiBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0
Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgaWYg
KCFleGVjKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7Ci0gICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShleGVjLT52bSgpLmhvc3RDYWxsUmV0dXJuVmFsdWUpOwot
fQotCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2XzY0KQotYXNtICgKLSIu
Z2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVf
U1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLVNZTUJPTF9TVFJJTkcoZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKLSAgICAibGVhIC04KCVyc3ApLCAlcmRpXG4iCi0g
ICAgImptcCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNT
dGF0ZSkgIlxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2
KQotYXNtICgKLSIudGV4dCIgIlxuIiBcCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiXG4iCi1TWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0g
ICAgInB1c2ggJWVicFxuIgotICAgICJtb3YgJWVzcCwgJWVheFxuIgotICAgICJsZWFsIC00KCVl
c3ApLCAlZXNwXG4iCi0gICAgInB1c2ggJWVheFxuIgotICAgICJjYWxsICIgTE9DQUxfUkVGRVJF
TkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0gICAgImxlYWwg
OCglZXNwKSwgJWVzcFxuIgotICAgICJwb3AgJWVicFxuIgotICAgICJyZXRcbiIKLSk7Ci0KLSNl
bGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9USFVNQjIpCi1hc20gKAotIi50
ZXh0IiAiXG4iCi0iLmFsaWduIDIiICJcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFs
dWUpICJcbiIKLSIudGh1bWIiICJcbiIKLSIudGh1bWJfZnVuYyAiIFRIVU1CX0ZVTkNfUEFSQU0o
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiOiIgIlxuIgotICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgotICAgICJiICIg
TE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4i
Ci0pOwotCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShBUk1fVFJBRElUSU9O
QUwpCi1hc20gKAotIi50ZXh0IiAiXG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiXG4iCi1JTkxJTkVfQVJNX0ZVTkNUSU9OKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCi1TWU1C
T0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgInN1YiByMCwg
c3AsICM4IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENQVShBUk02NCkKLWFzbSAoCi0i
LnRleHQiICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0
SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxu
IgotICAgICAic3ViIHgwLCBzcCwgIzE2IiAiXG4iCi0gICAgICJiICIgTE9DQUxfUkVGRVJFTkNF
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0pOwotCi0jZWxpZiBD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShNSVBTKQotCi0jaWYgV1RGX01JUFNfUElDCi0j
ZGVmaW5lIExPQURfRlVOQ1RJT05fVE9fVDkoZnVuY3Rpb24pIFwKLSAgICAgICAgIi5zZXQgbm9y
ZW9yZGVyIiAiXG4iIFwKLSAgICAgICAgIi5jcGxvYWQgJDI1IiAiXG4iIFwKLSAgICAgICAgIi5z
ZXQgcmVvcmRlciIgIlxuIiBcCi0gICAgICAgICJsYSAkdDksICIgTE9DQUxfUkVGRVJFTkNFKGZ1
bmN0aW9uKSAiXG4iCi0jZWxzZQotI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0aW9u
KSAiIiAiXG4iCi0jZW5kaWYKLQotYXNtICgKLSIudGV4dCIgIlxuIgotIi5nbG9ibCAiIFNZTUJP
TF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZh
bHVlKSAiOiIgIlxuIgotICAgIExPQURfRlVOQ1RJT05fVE9fVDkoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUpCi0gICAgImFkZGkgJGEwLCAkc3AsIC04IiAiXG4iCi0gICAgImIg
IiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJc
biIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODYpCi1leHRlcm4gIkMiIHsK
LSAgICBfX2RlY2xzcGVjKG5ha2VkKSBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZB
TFVFX09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkKLSAgICB7Ci0gICAgICAgIF9fYXNt
IGxlYSBlYXgsIFtlc3AgLSA0XQotICAgICAgICBfX2FzbSBtb3YgW2VzcCArIDRdLCBlYXg7Ci0g
ICAgICAgIF9fYXNtIGptcCBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZQotICAg
IH0KLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShK
SVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnNN
U1ZDNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zTVNWQzY0
LmNwcAppbmRleCA1NDRiY2EzOTQ2YzE5NDVlYzAwM2IyYzBkNTMxZTYwNzVlOTIzYzg0Li4wYTM3
YmY3NmMxZjI2ZTkzMGJiOGY2NmZmMWZmZTRlNThjODY2MjNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9uc01TVkM2NC5jcHAKQEAgLTI1LDcgKzI1LDcg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgIUVOQUJMRShKSVQpICYmIENPTVBJTEVS
KE1TVkMpICYmIENQVShYODZfNjQpCisjaWYgRU5BQkxFKENfTE9PUCkgJiYgQ09NUElMRVIoTVNW
QykgJiYgQ1BVKFg4Nl82NCkKIAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIkpT
Q0pTVmFsdWUuaCIKQEAgLTQzLDQgKzQzLDQgQEAgZXh0ZXJuICJDIiBFbmNvZGVkSlNWYWx1ZSBn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVjU3RhdGUqKQogCiB9IC8vIG5h
bWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKSAmJiBDT01QSUxFUihNU1ZDKSAm
JiBDUFUoWDg2XzY0KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApICYmIENPTVBJTEVSKE1TVkMp
ICYmIENQVShYODZfNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
Zy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5jcHAKaW5kZXggNGFhOTY1Mzc0
NzQxODRiMTEzNDAxYWUwY2NkOTQ4MWUyMjc1MTA0Yi4uM2NjNDljMDNkODY4ODlkNGM0Y2RhMGU3
ZTM3ZTJiOWFhMjQwMWJmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmNwcApAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZy5oIgogCi0jaWYgRU5B
QkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiRlBSSW5mby5oIgog
I2luY2x1ZGUgIkdQUkluZm8uaCIKQEAgLTU0LDUgKzU0LDUgQEAgdm9pZCBSZWc6OmR1bXAoUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlZy5oCmluZGV4IDg0YWUzNTkwNDc2OGNmYTFmZTBkMjdhYzVlZTU2MDY1M2Q3ODhiMDcuLjlk
MjQ2YWRlNWJjNzEwNTAwYjdmNzE3Mzk2ZDEyMTdiM2VkMjBmNWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWcuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgi
CiAKQEAgLTI0NSw0ICsyNDUsNCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6
UmVnPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlJlZz4gewogCiB9IC8vIG5hbWVzcGFj
ZSBXVEYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxF
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNl
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuY3BwCmlu
ZGV4IDE2YTYzOWNhOGM3OTYyNjBlZjM1NzYwNTYxOTQ3NzU5ZTFlZTI1OGUuLjBlNDRlMmRiMTFl
ODA1ZDA0M2UzMGRjZjE0Mjg5NWVhMGM4YTVkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZzZXQuaCIKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQxLDUg
KzQxLDUgQEAgdm9pZCBSZWdpc3RlckF0T2Zmc2V0OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNv
bnN0CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRp
ZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVn
aXN0ZXJBdE9mZnNldC5oCmluZGV4IDBkYjhkYTRhNzI2MWI4YjhiNzAwYzEwM2ZiMzUyYjhlNWFl
MmIyZjMuLmNkNDE1YjZkNjY5ZjkzOWZmMWQzNWNmMzFjN2NkN2I0YTIwZTkyYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5oCkBAIC0yNSw3ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1C
TEVSKQogCiAjaW5jbHVkZSAiUmVnLmgiCiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CkBA
IC03NCw0ICs3NCw0IEBAIGNsYXNzIFJlZ2lzdGVyQXRPZmZzZXQgewogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxF
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNl
dExpc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlz
dC5jcHAKaW5kZXggZGQ1YjViMzJmMzdhZDBkZGJhM2M3M2JhNThhNTA3NmQzZTI5OTQ0OC4uNmZl
MDZlNzc2MmI0YTQ3OWRkMDUxNDY4NjBhYWU5YjRkZDFhM2ZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAKQEAgLTI2LDcgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZWdpc3RlckF0T2Zmc2V0TGlz
dC5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVk
ZSA8d3RmL0xpc3REdW1wLmg+CiAKQEAgLTY4LDUgKzY4LDUgQEAgdW5zaWduZWQgUmVnaXN0ZXJB
dE9mZnNldExpc3Q6OmluZGV4T2YoUmVnIHJlZykgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgSlND
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldExp
c3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuaApp
bmRleCBlMGIyNTQxYWI4ZGM5MjNmZjcxZWQ0ODg3NjQ1MDYwNzVjM2I5ZTNjLi41ZTNhM2NiMmNl
MDI5MzQxMTk1N2Y2ODk5MzM5ZDY3N2Y0YTlmNDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAj
aW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldC5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyU2V0LmgiCkBA
IC02OSw0ICs2OSw0IEBAIGNsYXNzIFJlZ2lzdGVyQXRPZmZzZXRMaXN0IHsKIAogfSAvLyBuYW1l
c3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NF
TUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyTWFw
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyTWFwLmgKaW5kZXggMGYzZjk1
NzRmMWY5NWU2ZTAyZjhiYTQ3MTQxMDNmOGRiMTgyZGQ1Yi4uNWE3Nzk3N2NhYTkxMmEwOTVlZGI2
OGM3MDI0NTRkOWFmMThiYTAyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3Rlck1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJN
YXAuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShKSVQp
CisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkZQUkluZm8uaCIKICNpbmNsdWRl
ICJHUFJJbmZvLmgiCkBAIC0xMDcsNCArMTA3LDQgQEAgY2xhc3MgRlBSTWFwIHsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShB
U1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVy
U2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCmluZGV4
IDg1MjU2ZjdiMTQ2MjU5OWFlYWVjNjdkOWUwNzg0MmRlNGM2MTVjMTguLmE2MDIxNDFhYTg2NjFk
ZGFiZTkwMWIyZjQyNDQ5Y2VkMzlmZWU1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnaXN0ZXJTZXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiUmVnaXN0ZXJTZXQuaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFT
U0VNQkxFUikKIAogI2luY2x1ZGUgIkdQUkluZm8uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CkBAIC0zOTUsNSArMzk1LDUgQEAgdm9pZCBSZWdpc3RlclNldDo6ZHVtcChQcmludFN0cmVhbSYg
b3V0KSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQp
CisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlclNldC5oCmluZGV4IGM4N2VhZjhjM2I1M2JjYzhmMzBjMWNhZTg5Nzg2MDNkNGRjMGRj
MjUuLmE2MTg4NTI5ZWRkMGNlNTFmZmVkMTFhNjIwYjM4YzA3ZTRlMDExOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVk
ZSAiR1BSSW5mby5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCkBAIC0yNDYsNCArMjQ2
LDQgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlJlZ2lzdGVyU2V0PiA6IHB1
YmxpYyBDdXN0b21IYXNoVHJhaXRzPEpTQzo6UmUKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwCmluZGV4IDljMmU3M2Q0MzJi
NmNhNmRiYWE1NmJiMDVlOGE5YjdmMjg0ODJmZDUuLjNmMzUyMWVhMjYxNTZhN2QwYzFiNGMyZmNj
NWJjMGJhZmYzNDA2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVt
cFJlZ2lzdGVyU2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdp
c3RlclNldC5jcHAKQEAgLTI2LDkgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJUZW1wUmVnaXN0ZXJTZXQuaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFT
U0VNQkxFUikKIAotI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJSZWdpc3RlclNl
dC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTUxLDQgKzUwLDQgQEAgVGVtcFJlZ2lzdGVyU2V0
OjpUZW1wUmVnaXN0ZXJTZXQoY29uc3QgUmVnaXN0ZXJTZXQmIG90aGVyKQogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VN
QkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVy
U2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5oCmluZGV4
IDk5ODMyMjllZmFmYzQzZmU5MTcyNTZjODdkZGNlZTliMDgyNWZkZjUuLjY2MzgzZjU5Zjg4NTYy
YWJjYmIwZjk1NjlhNDE1MzAwM2Q4MWI3MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9UZW1wUmVnaXN0ZXJTZXQuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkZQUklu
Zm8uaCIKICNpbmNsdWRlICJHUFJJbmZvLmgiCkBAIC0yMDUsNyArMjA1LDcgQEAgY2xhc3MgVGVt
cFJlZ2lzdGVyU2V0IHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbHNlIC8vIEVOQUJMRShK
SVQpIC0+IHNvIGlmIEpJVCBpcyBkaXNhYmxlZAorI2Vsc2UgLy8gRU5BQkxFKEFTU0VNQkxFUikg
LT4gc28gaWYgSklUIGlzIGRpc2FibGVkCiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0yMTYsNCAr
MjE2LDQgQEAgc3RydWN0IFRlbXBSZWdpc3RlclNldCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwCmluZGV4IGUzYzZjNmNl
OTdlNWZkYTcwODk4OWI3ODFlZDM3NjI1ZjA5N2JjYzkuLmM4NGIxODljZjJjZGY4ZDRkNTIxMDEy
ZjExNDZiOTk4OGY0ZWZkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludENMb29wLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRD
TG9vcC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJMTEludENMb29wLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQog
CiAjaW5jbHVkZSAiTExJbnREYXRhLmgiCiAKQEAgLTQxLDQgKzQxLDQgQEAgdm9pZCBDTG9vcDo6
aW5pdGlhbGl6ZSgpCiB9IC8vIG5hbWVzcGFjZSBMTEludAogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
LSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQ19MT09QKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludENMb29wLmgKaW5kZXggYTMxNTkxNDU1MWZiMGQ4Y2M2
MTJiZWNkZGM0OGY5ZmNjYWNjMDVlMi4uMDJiMmYyNGRjYjAxYzdlZjlkZGM1MDE2ODQ1NGZjZThl
OTI4YWU2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xv
b3AuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRDTG9vcC5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKICNpbmNsdWRlICJPcGNvZGUu
aCIKQEAgLTQ0LDQgKzQ0LDQgQEAgY2xhc3MgQ0xvb3AgewogCiB1c2luZyBKU0M6OkxMSW50OjpD
TG9vcDsKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1Ap
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCmluZGV4IDQxZjY0YjRh
ZmEzMWU4MTljZjU0YjlmYmNkODA4M2Y1YTMxMzZlNmYuLjBkZDA0NTQzMzQ3OTc3YzU2NzNiZmVl
YmRlMzhiOGM1MjFkMjdkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludERhdGEuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERh
dGEuY3BwCkBAIC00NiwxNiArNDYsMTYgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTElu
dCB7CiBJbnN0cnVjdGlvbiBEYXRhOjpzX2V4Y2VwdGlvbkluc3RydWN0aW9uc1ttYXhPcGNvZGVM
ZW5ndGggKyAxXSA9IHsgfTsKIE9wY29kZSBEYXRhOjpzX29wY29kZU1hcFtudW1PcGNvZGVJRHNd
ID0geyB9OwogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIGV4dGVybiAi
QyIgdm9pZCBsbGludF9lbnRyeSh2b2lkKik7CiAjZW5kaWYKIAogdm9pZCBpbml0aWFsaXplKCkK
IHsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIENMb29wOjppbml0
aWFsaXplKCk7CiAKLSNlbHNlIC8vIEVOQUJMRShKSVQpCisjZWxzZSAvLyAhRU5BQkxFKENfTE9P
UCkKICAgICBsbGludF9lbnRyeSgmRGF0YTo6c19vcGNvZGVNYXApOwogCiAgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBudW1PcGNvZGVJRHM7ICsraSkKQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBpbml0
aWFsaXplKCkKICAgICB2b2lkKiBoYW5kbGVyID0gRGF0YTo6c19vcGNvZGVNYXBbbGxpbnRfdGhy
b3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZV07CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBt
YXhPcGNvZGVMZW5ndGggKyAxOyArK2kpCiAgICAgICAgIERhdGE6OnNfZXhjZXB0aW9uSW5zdHJ1
Y3Rpb25zW2ldLnUucG9pbnRlciA9IGhhbmRsZXI7Ci0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNl
bmRpZiAvLyBFTkFCTEUoQ19MT09QKQogfQogCiBJR05PUkVfQ0xBTkdfV0FSTklOR1NfQkVHSU4o
Im1pc3Npbmctbm9yZXR1cm4iKQpAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgRGF0YTo6cGVyZm9y
bUFzc2VydGlvbnMoVk0mIHZtKQogICAgIFNUQVRJQ19BU1NFUlQoVmFsdWVVbmRlZmluZWQgPT0g
KFRhZ0JpdFR5cGVPdGhlciB8IFRhZ0JpdFVuZGVmaW5lZCkpOwogICAgIFNUQVRJQ19BU1NFUlQo
VmFsdWVOdWxsID09IFRhZ0JpdFR5cGVPdGhlcik7CiAjZW5kaWYKLSNpZiAoQ1BVKFg4Nl82NCkg
JiYgIU9TKFdJTkRPV1MpKSB8fCBDUFUoQVJNNjQpIHx8ICFFTkFCTEUoSklUKQorI2lmIChDUFUo
WDg2XzY0KSAmJiAhT1MoV0lORE9XUykpIHx8IENQVShBUk02NCkgfHwgIUVOQUJMRShBU1NFTUJM
RVIpCiAgICAgU1RBVElDX0FTU0VSVCghbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwpOwog
I2VsaWYgQ1BVKEFSTSkKICAgICBTVEFUSUNfQVNTRVJUKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsID09IDI0KTsKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIERhdGE6OnBlcmZvcm1Bc3Nl
cnRpb25zKFZNJiB2bSkKICAgICBTVEFUSUNfQVNTRVJUKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsID09IDY0KTsKICNlbmRpZgogCi0jaWYgIUVOQUJMRShKSVQpIHx8IFVTRShKU1ZBTFVF
MzJfNjQpCisjaWYgRU5BQkxFKENfTE9PUCkgfHwgVVNFKEpTVkFMVUUzMl82NCkKICAgICBBU1NF
UlQoIUNvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lz
dGVycygpKTsKICNlbGlmIChDUFUoWDg2XzY0KSAmJiAhT1MoV0lORE9XUykpICB8fCBDUFUoQVJN
NjQpCiAgICAgQVNTRVJUKENvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFjZUFz
VmlydHVhbFJlZ2lzdGVycygpID09IDMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50RGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
RGF0YS5oCmluZGV4IGJlNThjMDBhZTVjNjZhYzMwNTgxYWUzZDQ4NDk0MjhlNWJiMzAxZDAuLjlj
YTU3MTUyN2MwY2IyNDI0MGU3YjY3NjlkN2JjN2M5NGQ5MDc1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnREYXRhLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiBjbGFzcyBWTTsKIHN0cnVjdCBJbnN0cnVjdGlvbjsKIAotI2lmICFFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShDX0xPT1ApCiB0eXBlZGVmIE9wY29kZUlEIExMSW50Q29kZTsKICNlbHNlCiB0eXBl
ZGVmIHZvaWQgKCpMTEludENvZGUpKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgKaW5kZXggYTY0MzdkNDAzYTQwYTk5MWY5NTU4
ZTZlM2Y0MDc5M2M3ZGVjNzkyMy4uYmE2ZDUxNmQ1ZjNmODFhMDczN2I5NjIyNjllYzM2YjA3Mjlm
YzJjZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGlu
ZUFzbUNvbmZpZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxp
bmVBc21Db25maWcuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPHd0Zi9HaWdhY2FnZS5o
PgogI2luY2x1ZGUgPHd0Zi9Qb2lzb25lZC5oPgogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKICNkZWZpbmUgT0ZGTElORV9BU01fQ19MT09QIDEKICNkZWZpbmUgT0ZGTElO
RV9BU01fWDg2IDAKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2X1dJTiAwCkBAIC00NSw3ICs0NSw3
IEBACiAjZGVmaW5lIE9GRkxJTkVfQVNNX0FSTXY3cyAwCiAjZGVmaW5lIE9GRkxJTkVfQVNNX01J
UFMgMAogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2Vsc2UgLy8gRU5BQkxFKENfTE9PUCkKIAog
I2RlZmluZSBPRkZMSU5FX0FTTV9DX0xPT1AgMAogCkBAIC0xMzcsNyArMTM3LDcgQEAKICNlbmRp
ZgogI2VuZGlmCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xP
T1ApCiAKICNpZiBVU0UoSlNWQUxVRTY0KQogI2RlZmluZSBPRkZMSU5FX0FTTV9KU1ZBTFVFNjQg
MQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T3Bjb2RlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPcGNvZGUuaAppbmRleCA4NTkwNWUz
NzA0MzgyMzc4M2JkZjdiZmVjMTQ1NjdkMTQxMTVjMTg1Li44NGE5ZmMyMTUwOTcxZGNiYjNhYzBj
YjE2MWRmNmYzYjM4M2I2YzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRPcGNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRP
cGNvZGUuaApAQCAtMjUsMTcgKzI1LDE3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgIUVOQUJM
RShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2RlZmluZSBGT1JfRUFDSF9MTElOVF9OT0pJ
VF9OQVRJVkVfSEVMUEVSKG1hY3JvKSBcCiAgICAgRk9SX0VBQ0hfQ0xPT1BfQllURUNPREVfSEVM
UEVSX0lEKG1hY3JvKQogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2Vsc2UgLy8gIUVOQUJMRShD
X0xPT1ApCiAKICNkZWZpbmUgRk9SX0VBQ0hfTExJTlRfTk9KSVRfTkFUSVZFX0hFTFBFUihtYWNy
bykgXAotICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVXNlIHRoZSBKSVQgaW1wbCBpbnN0ZWFk
LgorICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVXNlIHRoZSBMTEludCBBU00gLyBKSVQgaW1w
bCBpbnN0ZWFkLgogCi0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENf
TE9PUCkKIAogCiAjZGVmaW5lIEZPUl9FQUNIX0xMSU5UX05BVElWRV9IRUxQRVIobWFjcm8pIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFBDUmFuZ2VzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRQQ1Jhbmdlcy5oCmluZGV4IDk0MjE4
NWU4MjQ0NmU5YzI3YzhmNWZmMTQzZWVhNjA4NTUxOWFhNjMuLjgyYmRjNTU5YjhhYjM4ZjdlODUy
OTYyZjcyOWI5ZDlkOWNlNzM3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFBDUmFuZ2VzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50UENSYW5nZXMuaApAQCAtNDYsNyArNDYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgaXNMTElu
dFBDKHZvaWQqIHBjKQogICAgIHJldHVybiBsbGludFN0YXJ0IDw9IHBjQXNJbnQgJiYgcGNBc0lu
dCA8PSBsbGludEVuZDsKIH0KIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1Ap
CiBzdGF0aWMgY29uc3QgR1BSUmVnIExMSW50UEMgPSBHUFJJbmZvOjpyZWdUNDsKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRl
eCAzYzVmOWEyOTQyYjMwMDNmZTQyMTM4ZjdlNGRkYzNlYTBkZWViN2M0Li5jMWMyYzY3NDZhZTNh
NTU3ZmNhM2U0ZGQ3ZjlkYTRkZTdhMjM5M2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTUzNiw3ICs1MzYsNyBAQCBMTElOVF9TTE9X
X1BBVEhfREVDTChzdGFja19jaGVjaykKICAgICAgICAgc2xvd1BhdGhMb2dGKCJOdW0gdmFycyA9
ICV1LlxuIiwgY29kZUJsb2NrLT5udW1WYXJzKCkpOwogICAgIH0KICAgICBzbG93UGF0aExvZ0Yo
IkN1cnJlbnQgT1Mgc3RhY2sgZW5kIGlzIGF0ICVwLlxuIiwgdm0uc29mdFN0YWNrTGltaXQoKSk7
Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICBzbG93UGF0aExvZ0Yo
IkN1cnJlbnQgQyBMb29wIHN0YWNrIGVuZCBpcyBhdCAlcC5cbiIsIHZtLmNsb29wU3RhY2tMaW1p
dCgpKTsKICNlbmRpZgogCkBAIC01NDcsNyArNTQ3LDcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0wo
c3RhY2tfY2hlY2spCiAgICAgLy8gRm9yIEpJVCBlbmFibGVkIGJ1aWxkcyB3aGljaCB1c2VzIHRo
ZSBDIHN0YWNrLCB0aGUgc3RhY2sgaXMgbm90IGdyb3dhYmxlLgogICAgIC8vIEhlbmNlLCBpZiB3
ZSBnZXQgaGVyZSwgdGhlbiB3ZSBrbm93IGEgc3RhY2sgb3ZlcmZsb3cgaXMgaW1taW5lbnQuIFNv
LCBqdXN0CiAgICAgLy8gdGhyb3cgdGhlIFN0YWNrT3ZlcmZsb3dFcnJvciB1bmNvbmRpdGlvbmFs
bHkuCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICBSZWdpc3Rlciog
dG9wT2ZGcmFtZSA9IGV4ZWMtPnRvcE9mRnJhbWUoKTsKICAgICBpZiAoTElLRUxZKHRvcE9mRnJh
bWUgPCByZWludGVycHJldF9jYXN0PFJlZ2lzdGVyKj4oZXhlYykpKSB7CiAgICAgICAgIEFTU0VS
VCghdm0uaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5jb250YWluc0FkZHJlc3ModG9wT2ZGcmFt
ZSkpOwpAQCAtMTg2MSw3ICsxODYxLDcgQEAgZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUg
bGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3dfZXJyb3IoVk0qIHZtLCBQcm90b0NhbGwKICAgICBy
ZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogfQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2No
ZWNrX2F0X3ZtX2VudHJ5KFZNKiB2bSwgUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7CiAgICAg
Ym9vbCBzdWNjZXNzID0gdm0tPmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3IobmV3VG9wT2ZTdGFjayk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IDdj
ZmVjYTdhODE2ZDFkYzUzMGEzNDdlODZmYjlkNWZkMzYwYmNiODAuLjlmZTFhYzViOWQwMzllZDdj
M2E0ZmIwNzQ5ZTk2NDVhZGFkMjRhMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5oCkBAIC0xMzIsNyArMTMyLDcgQEAgTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5fdGFpbCk7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N1cGVyX3NhbXBsZXJfYmVnaW4pOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zdXBlcl9zYW1wbGVyX2VuZCk7CiBleHRl
cm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19zdGFja19vdmVyZmxvd19lcnJv
cihWTSosIFByb3RvQ2FsbEZyYW1lKikgV1RGX0lOVEVSTkFMOwotI2lmICFFTkFCTEUoSklUKQor
I2lmIEVOQUJMRShDX0xPT1ApCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF9z
dGFja19jaGVja19hdF92bV9lbnRyeShWTSosIFJlZ2lzdGVyKikgV1RGX0lOVEVSTkFMOwogI2Vu
ZGlmCiBleHRlcm4gIkMiIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggdm9pZCBsbGludF9jcmFzaCgp
IFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFRodW5rcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3Mu
Y3BwCmluZGV4IDI0NDZiZGJmZTc2Y2Y5NjI5NDAyNWRjNjU3NTdkYTBlNDk5MzBlOGEuLjVjMTk0
Y2Y1NGQyZWYzMDIwZTIxMzMwMjg5ZDlmZjVjMDk4NjE3MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcApAQCAtOTgsOCArOTgsOSBAQCBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG1vZHVsZVByb2dyYW1FbnRyeVRodW5rR2VuZXJh
dG9yKFZNKiB2bSkKIAogfSAvLyBuYW1lc3BhY2UgTExJbnQKIAotI2Vsc2UgLy8gRU5BQkxFKEpJ
VCkKKyNlbmRpZgogCisjaWYgRU5BQkxFKENfTE9PUCkKIC8vIE5vbi1KSVQgKGkuZS4gQyBMb29w
IExMSU5UKSBjYXNlOgogCiBFbmNvZGVkSlNWYWx1ZSB2bUVudHJ5VG9KYXZhU2NyaXB0KHZvaWQq
IGV4ZWN1dGFibGVBZGRyZXNzLCBWTSogdm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90b0NhbGxGcmFt
ZSkKQEAgLTEyMiw3ICsxMjMsNiBAQCBleHRlcm4gIkMiIFZNRW50cnlSZWNvcmQqIHZtRW50cnlS
ZWNvcmQoRW50cnlGcmFtZSogZW50cnlGcmFtZSkKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxWTUVudHJ5UmVjb3JkKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oZW50cnlGcmFtZSkgLSBW
TUVudHJ5VG90YWxGcmFtZVNpemUpOwogfQogCi0KLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDc4
YmZmMDg4NGM0ODAyOTM5YTRkZTg2MGY3NmI1ODJlYWE5YTQyNjUuLjQ3YmVhMmRmNTVlNjVkNGNj
Y2Y3ZjBkN2U1NjA5MDMxNTBiOTVjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNs
dWRlICJMTEludE9mZmxpbmVBc21Db25maWcuaCIKICNpbmNsdWRlIDx3dGYvSW5saW5lQVNNLmg+
CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogI2luY2x1ZGUgIkJ5dGVj
b2Rlcy5oIgogI2luY2x1ZGUgIkNMb29wU3RhY2tJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQ29kZUJs
b2NrLmgiCkBAIC01NTksNCArNTU5LDQgQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShPcGNvZGVJ
RCBlbnRyeU9wY29kZUlELCB2b2lkKiBleGVjdXRhYmxlQWRkcmVzcywgVk0qIHZtLAogLy8gZm9y
IHRoZSBpbnRlcnByZXRlciwgYXMgY29tcGlsZWQgZnJvbSBMb3dMZXZlbEludGVycHJldGVyLmFz
bS4KICNpbmNsdWRlICJMTEludEFzc2VtYmx5LmgiCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQor
I2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaAppbmRleCA4MzAwOGUxMjI1YmY1M2RjZmNmZmRkYTAz
ODVkNmY3NmFlOTYyNzMwLi5lNGM5MDc0M2FjZjM5NDkwYTgzNTE3NzQxYjNlYzk1Y2Y5ZDM2YjA4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIk9wY29kZS5oIgogCi0jaWYgIUVO
QUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQ0
LDQgKzQ0LDQgQEAgRk9SX0VBQ0hfQ09SRV9PUENPREVfSUQoTExJTlRfT1BDT0RFX0FMSUFTKQog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8v
IEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NKU1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVl
LmgKaW5kZXggNTQ0MjI3NzY5OWJlZjI1NmM0YmE2MjM0NmM5YWZiMzA1Zjg1ZWQzOC4uZjdlNjU3
NTVlZDgxOGQ1YmY2ZGY2ZTFjYzE5MmEyOGZjYTM3YTkzMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaApAQCAtNTksNyArNTksNyBAQCBjbGFzcyBPU1JFeGl0
Q29tcGlsZXI7CiBjbGFzcyBTcGVjdWxhdGl2ZUpJVDsKIH0KICNlbmRpZgotI2lmICFFTkFCTEUo
SklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBuYW1lc3BhY2UgTExJbnQgewogY2xhc3MgQ0xvb3A7
CiB9CkBAIC0xNDcsNyArMTQ3LDcgQEAgY2xhc3MgSlNWYWx1ZSB7CiAgICAgZnJpZW5kIGNsYXNz
IERGRzo6T1NSRXhpdENvbXBpbGVyOwogICAgIGZyaWVuZCBjbGFzcyBERkc6OlNwZWN1bGF0aXZl
SklUOwogI2VuZGlmCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICBm
cmllbmQgY2xhc3MgTExJbnQ6OkNMb29wOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCmluZGV4IDgzNmQ3NTU2ODhiMTcyZmMxMmY4
Yzc5NDgyYjBhNjA1ODUzMDVjNzkuLjQ2ZjE1NTQ1MWQwNjUxYjhiMWZjY2JkMjVmNjJkYjkxMDI5
ZmU5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVD
b250ZXh0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRl
eHQuaApAQCAtNTAsMTAgKzUwLDEwIEBAIGlubGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRl
cihQbGF0Zm9ybVJlZ2lzdGVycyYsIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxDRnVuCiAKIHRlbXBs
YXRlPHNpemVfdCBOPiB2b2lkKiYgYXJndW1lbnRQb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJik7
CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQb2ludGVyKGNvbnN0IFBsYXRmb3Jt
UmVnaXN0ZXJzJik7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIHZvaWQq
JiBsbGludEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm9ybVJlZ2lzdGVycyYpOwogdm9pZCogbGxp
bnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmKTsKLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQogCiAjaWYgSEFWRShNQUNI
SU5FX0NPTlRFWFQpCiAKQEAgLTcyLDEwICs3MiwxMCBAQCBpbmxpbmUgdm9pZCBzZXRJbnN0cnVj
dGlvblBvaW50ZXIobWNvbnRleHRfdCYsIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxDRnVuY3Rpb25Q
dAogCiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZComIGFyZ3VtZW50UG9pbnRlcihtY29udGV4dF90
Jik7CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQb2ludGVyKGNvbnN0IG1jb250
ZXh0X3QmKTsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogdm9pZComIGxs
aW50SW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZXh0X3QmKTsKIHZvaWQqIGxsaW50SW5zdHJ1Y3Rp
b25Qb2ludGVyKGNvbnN0IG1jb250ZXh0X3QmKTsKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vICFFTkFCTEUoQ19MT09QKQogI2VuZGlmIC8vIEhBVkUoTUFDSElORV9DT05URVhUKQog
I2VuZGlmIC8vIE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKQogCkBAIC02Njgs
NyArNjY4LDcgQEAgaW5saW5lIHZvaWQqIGFyZ3VtZW50UG9pbnRlcihjb25zdCBtY29udGV4dF90
JiBtYWNoaW5lQ29udGV4dCkKIH0KICNlbmRpZiAvLyBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIAot
I2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAjaWYgT1MoV0lORE9XUykgfHwg
SEFWRShNQUNISU5FX0NPTlRFWFQpCiBpbmxpbmUgdm9pZComIGxsaW50SW5zdHJ1Y3Rpb25Qb2lu
dGVyKFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdzKQogewpAQCAtNzgzLDcgKzc4Myw3IEBAIGlubGlu
ZSB2b2lkKiBsbGludEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBtY29udGV4dF90JiBtYWNoaW5l
Q29udGV4dCkKICAgICByZXR1cm4gbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3RfY2FzdDxt
Y29udGV4dF90Jj4obWFjaGluZUNvbnRleHQpKTsKIH0KICNlbmRpZiAvLyBIQVZFKE1BQ0hJTkVf
Q09OVEVYVCkKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09Q
KQogCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1w
bGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuY3BwCmluZGV4IGI2OTM1ZTRjNzU1NGRhMWFmMjBkNDRhYjYyOTkyZjVhMzg5MWJj
YmQuLmE5OTU1NGQxZjNkYTYwYjVmYmM4OTM3Y2I5NzdlZmUyMThmZWViOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCkBAIC02
MDEsMTAgKzYwMSwxNSBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnByb2Nlc3NVbnZlcmlmaWVk
U3RhY2tUcmFjZXMoKQogICAgICAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0RnJh
bWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2FsbGVlKTsKICAg
ICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7CiAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSBlbHNlIGlmIChzdGQ6Om9wdGlvbmFsPENvZGVPcmlnaW4+IGNvZGVPcmlnaW4g
PSB0b3BDb2RlQmxvY2stPmZpbmRQQyh1bnByb2Nlc3NlZFN0YWNrVHJhY2UudG9wUEMpKSB7Ci0g
ICAgICAgICAgICAgICAgYXBwZW5kQ29kZU9yaWdpbih0b3BDb2RlQmxvY2ssICpjb2RlT3JpZ2lu
KTsKLSAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0RnJhbWUodW5wcm9jZXNzZWRT
dGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2FsbGVlKTsKLSAgICAgICAgICAgICAgICBz
dGFydEluZGV4ID0gMTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisjaWYgRU5BQkxFKEpJVCkKKyAg
ICAgICAgICAgICAgICBpZiAoc3RkOjpvcHRpb25hbDxDb2RlT3JpZ2luPiBjb2RlT3JpZ2luID0g
dG9wQ29kZUJsb2NrLT5maW5kUEModW5wcm9jZXNzZWRTdGFja1RyYWNlLnRvcFBDKSkgeworICAg
ICAgICAgICAgICAgICAgICBhcHBlbmRDb2RlT3JpZ2luKHRvcENvZGVCbG9jaywgKmNvZGVPcmln
aW4pOworICAgICAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0RnJhbWUodW5wcm9j
ZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2FsbGVlKTsKKyAgICAgICAgICAg
ICAgICAgICAgc3RhcnRJbmRleCA9IDE7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisgICAg
ICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGFwcGVuZENvZGVPcmlnaW4pOwogICAgICAgICAgICAg
fQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1Rlc3RSdW5uZXJVdGlscy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZXN0
UnVubmVyVXRpbHMuY3BwCmluZGV4IDAxZWM4NmExNGRmOWE5NjJmMzI2NzVlNmZkMDg3MzAwZDgw
ZTJiYzcuLjM0ZWVjYTc0YzcyNDdlYjVlMjQ2ZWQ3MTdkZWExN2YxMTM2ZjgyY2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Rlc3RSdW5uZXJVdGlscy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVzdFJ1bm5lclV0aWxzLmNwcApAQCAt
MTAyLDEwICsxMDIsOCBAQCBKU1ZhbHVlIG9wdGltaXplTmV4dEludm9jYXRpb24oSlNWYWx1ZSB0
aGVGdW5jdGlvblZhbHVlKQogI2lmIEVOQUJMRShKSVQpCiAgICAgaWYgKENvZGVCbG9jayogYmFz
ZWxpbmVDb2RlQmxvY2sgPSBnZXRTb21lQmFzZWxpbmVDb2RlQmxvY2tGb3JGdW5jdGlvbih0aGVG
dW5jdGlvblZhbHVlKSkKICAgICAgICAgYmFzZWxpbmVDb2RlQmxvY2stPm9wdGltaXplTmV4dElu
dm9jYXRpb24oKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHRoZUZ1bmN0aW9uVmFsdWUpOwog
I2VuZGlmCi0KKyAgICBVTlVTRURfUEFSQU0odGhlRnVuY3Rpb25WYWx1ZSk7CiAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRl
eCA4ZTA5MmJjNWE4YTc4YmU4NjA5YjQ5ZDZjYzZmY2VkMTg1YTg0NTE5Li40N2U2MWI4M2EzOTcz
MDU3NzRhNmYyM2RjNDNlMzBkYmQ3MDZjZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Vk0uY3BwCkBAIC0xNTksNyArMTU5LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmdUYWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg+CiAKLSNpZiAh
RU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogI2luY2x1ZGUgIkNMb29wU3RhY2suaCIK
ICNpbmNsdWRlICJDTG9vcFN0YWNrSW5saW5lcy5oIgogI2VuZGlmCkBAIC00NjEsNyArNDYxLDcg
QEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgIGZ0bFRodW5r
cyA9IHN0ZDo6bWFrZV91bmlxdWU8RlRMOjpUaHVua3M+KCk7CiAjZW5kaWYgLy8gRU5BQkxFKEZU
TF9KSVQpCiAgICAgCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBp
bml0aWFsaXplSG9zdENhbGxSZXR1cm5WYWx1ZSgpOyAvLyBUaGlzIGlzIG5lZWRlZCB0byBjb252
aW5jZSB0aGUgbGlua2VyIG5vdCB0byBkcm9wIGhvc3QgY2FsbCByZXR1cm4gc3VwcG9ydC4KICNl
bmRpZgogICAgIApAQCAtNzQxLDkgKzc0MSw4IEBAIE5hdGl2ZUV4ZWN1dGFibGUqIFZNOjpnZXRI
b3N0RnVuY3Rpb24oTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIEludHJpbnNpYyBpbnRyaW5zCiAg
ICAgICAgICAgICBpbnRyaW5zaWMgIT0gTm9JbnRyaW5zaWMgPyB0aHVua0dlbmVyYXRvckZvcklu
dHJpbnNpYyhpbnRyaW5zaWMpIDogMCwKICAgICAgICAgICAgIGludHJpbnNpYywgc2lnbmF0dXJl
LCBuYW1lKTsKICAgICB9Ci0jZWxzZSAvLyBFTkFCTEUoSklUKQotICAgIFVOVVNFRF9QQVJBTShp
bnRyaW5zaWMpOwogI2VuZGlmIC8vIEVOQUJMRShKSVQpCisgICAgVU5VU0VEX1BBUkFNKGludHJp
bnNpYyk7CiAgICAgcmV0dXJuIE5hdGl2ZUV4ZWN1dGFibGU6OmNyZWF0ZSgqdGhpcywKICAgICAg
ICAgYWRvcHRSZWYoKm5ldyBOYXRpdmVKSVRDb2RlKExMSW50OjpnZXRDb2RlUmVmPEpTRW50cnlQ
dHJUYWc+KGxsaW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpLCBKSVRDb2RlOjpIb3N0Q2FsbFRo
dW5rKSksIGZ1bmN0aW9uLAogICAgICAgICBhZG9wdFJlZigqbmV3IE5hdGl2ZUpJVENvZGUoTExJ
bnQ6OmdldENvZGVSZWY8SlNFbnRyeVB0clRhZz4obGxpbnRfbmF0aXZlX2NvbnN0cnVjdF90cmFt
cG9saW5lKSwgSklUQ29kZTo6SG9zdENhbGxUaHVuaykpLCBjb25zdHJ1Y3RvciwKQEAgLTg3Niw3
ICs4NzUsNyBAQCBzaXplX3QgVk06OnVwZGF0ZVNvZnRSZXNlcnZlZFpvbmVTaXplKHNpemVfdCBz
b2Z0UmVzZXJ2ZWRab25lU2l6ZSkKIHsKICAgICBzaXplX3Qgb2xkU29mdFJlc2VydmVkWm9uZVNp
emUgPSBtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKICAgICBtX2N1cnJlbnRTb2Z0UmVz
ZXJ2ZWRab25lU2l6ZSA9IHNvZnRSZXNlcnZlZFpvbmVTaXplOwotI2lmICFFTkFCTEUoSklUKQor
I2lmIEVOQUJMRShDX0xPT1ApCiAgICAgaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5zZXRTb2Z0
UmVzZXJ2ZWRab25lU2l6ZShzb2Z0UmVzZXJ2ZWRab25lU2l6ZSk7CiAjZW5kaWYKIApAQCAtMTE0
NSw3ICsxMTQ0LDcgQEAgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk0oVk0qIHZtKQogICAgICAgICBB
U1NFUlQodm0tPmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkpOwogICAgICAgICBBU1NF
UlRfVU5VU0VEKHN0YWNrQm91bmRzLCBzdGFja0JvdW5kcy5jb250YWlucyh2bS0+bGFzdFN0YWNr
VG9wKCkpKTsKICAgICB9Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAg
ICB2bS0+aW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5zYW5pdGl6ZVN0YWNrKCk7CiAjZWxzZQog
ICAgIHNhbml0aXplU3RhY2tGb3JWTUltcGwodm0pOwpAQCAtMTE1NCw3ICsxMTUzLDcgQEAgdm9p
ZCBzYW5pdGl6ZVN0YWNrRm9yVk0oVk0qIHZtKQogCiBzaXplX3QgVk06OmNvbW1pdHRlZFN0YWNr
Qnl0ZUNvdW50KCkKIHsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogICAg
IC8vIFdoZW4gdXNpbmcgdGhlIEMgc3RhY2ssIHdlIGRvbid0IGtub3cgaG93IG1hbnkgc3RhY2sg
cGFnZXMgYXJlIGFjdHVhbGx5CiAgICAgLy8gY29tbWl0dGVkLiBTbywgd2UgdXNlIHRoZSBjdXJy
ZW50IHN0YWNrIHVzYWdlIGFzIGFuIGVzdGltYXRlLgogICAgIEFTU0VSVChUaHJlYWQ6OmN1cnJl
bnQoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253YXJkKCkpOwpAQCAtMTE2Niw3ICsxMTY1LDcgQEAg
c2l6ZV90IFZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCgpCiAjZW5kaWYKIH0KIAotI2lmICFF
TkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBib29sIFZNOjplbnN1cmVTdGFja0NhcGFj
aXR5Rm9yQ0xvb3AoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7CiAgICAgcmV0dXJuIGludGVy
cHJldGVyLT5jbG9vcFN0YWNrKCkuZW5zdXJlQ2FwYWNpdHlGb3IobmV3VG9wT2ZTdGFjayk7CkBA
IC0xMTc2LDcgKzExNzUsNyBAQCBib29sIFZNOjppc1NhZmVUb1JlY3Vyc2VTb2Z0Q0xvb3AoKSBj
b25zdAogewogICAgIHJldHVybiBpbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLmlzU2FmZVRvUmVj
dXJzZSgpOwogfQotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xP
T1ApCiAKICNpZiBFTkFCTEUoRVhDRVBUSU9OX1NDT1BFX1ZFUklGSUNBVElPTikKIHZvaWQgVk06
OnZlcmlmeUV4Y2VwdGlvbkNoZWNrTmVlZElzU2F0aXNmaWVkKHVuc2lnbmVkIHJlY3Vyc2lvbkRl
cHRoLCBFeGNlcHRpb25FdmVudExvY2F0aW9uJiBsb2NhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5oCmluZGV4IDQwZGE1ZDM2ODkyNTM4YjJiMmJiNGQxNjc2MTJlNTdkNTE1YWNkNjMu
LmY5N2FmMzVhMTQ5ZDM1OWIyZTQ2MGJmN2QxYTFiOTk3MTc3MjhlOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaApAQCAtNzE2LDcgKzcxNiw3IEBAIGNsYXNzIFZNIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7
CiAgICAgdm9pZCogc3RhY2tMaW1pdCgpIHsgcmV0dXJuIG1fc3RhY2tMaW1pdDsgfQogICAgIHZv
aWQqIHNvZnRTdGFja0xpbWl0KCkgeyByZXR1cm4gbV9zb2Z0U3RhY2tMaW1pdDsgfQogICAgIHZv
aWQqKiBhZGRyZXNzT2ZTb2Z0U3RhY2tMaW1pdCgpIHsgcmV0dXJuICZtX3NvZnRTdGFja0xpbWl0
OyB9Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICB2b2lkKiBjbG9v
cFN0YWNrTGltaXQoKSB7IHJldHVybiBtX2Nsb29wU3RhY2tMaW1pdDsgfQogICAgIHZvaWQgc2V0
Q0xvb3BTdGFja0xpbWl0KHZvaWQqIGxpbWl0KSB7IG1fY2xvb3BTdGFja0xpbWl0ID0gbGltaXQ7
IH0KICNlbmRpZgpAQCAtOTI5LDEwICs5MjksMTAgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAg
ICAgICAgbV9leGNlcHRpb24gPSBudWxscHRyOwogICAgIH0KIAotI2lmICFFTkFCTEUoSklUKSAg
ICAKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIGJvb2wgZW5zdXJlU3RhY2tDYXBhY2l0eUZvckNM
b29wKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKTsKICAgICBib29sIGlzU2FmZVRvUmVjdXJzZVNv
ZnRDTG9vcCgpIGNvbnN0OwotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJM
RShDX0xPT1ApCiAKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHRocm93RXhjZXB0aW9uKEV4
ZWNTdGF0ZSosIEV4Y2VwdGlvbiopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTVmFsdWUgdGhy
b3dFeGNlcHRpb24oRXhlY1N0YXRlKiwgSlNWYWx1ZSk7CkBAIC05NTMsNyArOTUzLDcgQEAgY2xh
c3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlu
a2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzaXplX3QgbV9jdXJyZW50U29mdFJlc2VydmVkWm9uZVNp
emU7CiAgICAgdm9pZCogbV9zdGFja0xpbWl0IHsgbnVsbHB0ciB9OwogICAgIHZvaWQqIG1fc29m
dFN0YWNrTGltaXQgeyBudWxscHRyIH07Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENf
TE9PUCkKICAgICB2b2lkKiBtX2Nsb29wU3RhY2tMaW1pdCB7IG51bGxwdHIgfTsKICNlbmRpZgog
ICAgIHZvaWQqIG1fbGFzdFN0YWNrVG9wIHsgbnVsbHB0ciB9OwpAQCAtMTAzNSw3ICsxMDM1LDcg
QEAgaW5saW5lIEhlYXAqIFdlYWtTZXQ6OmhlYXAoKSBjb25zdAogICAgIHJldHVybiAmbV92bS0+
aGVhcDsKIH0KIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiBleHRlcm4g
IkMiIHZvaWQgc2FuaXRpemVTdGFja0ZvclZNSW1wbChWTSopOwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNSW5saW5lcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKaW5kZXggMTViNTBkNmRmYmFlYTEyMjYy
OTllNzEyOTEwZDMwZGJiM2YxZjEzMy4uMTVlNWRmMGIyNTMxNGU3ZTY4MGI4ZTU5YjkwNTRmYTk1
ZTM2NzUyZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1Jbmxp
bmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKQEAg
LTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiBib29sIFZNOjplbnN1cmVTdGFj
a0NhcGFjaXR5Rm9yKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKQogewotI2lmIEVOQUJMRShKSVQp
CisjaWYgIUVOQUJMRShDX0xPT1ApCiAgICAgQVNTRVJUKFRocmVhZDo6Y3VycmVudCgpLnN0YWNr
KCkuaXNHcm93aW5nRG93bndhcmQoKSk7CiAgICAgcmV0dXJuIG5ld1RvcE9mU3RhY2sgPj0gbV9z
b2Z0U3RhY2tMaW1pdDsKICNlbHNlCkBAIC00Nyw3ICs0Nyw3IEBAIGJvb2wgVk06OmVuc3VyZVN0
YWNrQ2FwYWNpdHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiBib29sIFZNOjppc1NhZmVU
b1JlY3Vyc2VTb2Z0KCkgY29uc3QKIHsKICAgICBib29sIHNhZmUgPSBpc1NhZmVUb1JlY3Vyc2Uo
bV9zb2Z0U3RhY2tMaW1pdCk7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkK
ICAgICBzYWZlID0gc2FmZSAmJiBpc1NhZmVUb1JlY3Vyc2VTb2Z0Q0xvb3AoKTsKICNlbmRpZgog
ICAgIHJldHVybiBzYWZlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggZTU2OWNkYzU2Mzg5NzJmMmNhYTE0Mzlh
NmJiMzYyMThmZjlmMzc0Yi4uMWE4MzM0OTUzYzM4NjJkNDM3OGQxODYyY2NhYmZlYTFjNmZmNzY0
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybS5oCkBAIC03NTcsNiArNzU3LDE1IEBACiAjZGVmaW5lIEVOQUJMRV9KSVQg
MAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ19MT09QKQorI2lmIEVOQUJMRShKSVQp
IFwKKyAgICB8fCBDUFUoWDg2XzY0KSB8fCAoQ1BVKEFSTTY0KSAmJiAhZGVmaW5lZChfX0lMUDMy
X18pKQorI2RlZmluZSBFTkFCTEVfQ19MT09QIDAKKyNlbHNlCisjZGVmaW5lIEVOQUJMRV9DX0xP
T1AgMQorI2VuZGlmCisjZW5kaWYKKwogLyogVGhlIEZUTCAqZG9lcyBub3QqIHdvcmsgb24gMzIt
Yml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNvbWVvbmUgYXNrZWQgdXMgdG8gZW5h
YmxlIGl0LiAqLwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAjdW5kZWYgRU5BQkxFX0ZUTF9KSVQK
QEAgLTg2Myw3ICs4NzIsNyBAQAogICogSW4gY29uZmlndXJhdGlvbnMgb3RoZXIgdGhhbiBXaW5k
b3dzIGFuZCBEYXJ3aW4sIGJlY2F1c2UgbGF5b3V0IG9mIG1jb250ZXh0X3QgZGVwZW5kcyBvbiBz
dGFuZGFyZCBsaWJyYXJpZXMgKGxpa2UgZ2xpYmMpLAogICogc2FtcGxpbmcgcHJvZmlsZXIgaXMg
ZW5hYmxlZCBpZiBXZWJLaXQgdXNlcyBwdGhyZWFkcyBhbmQgZ2xpYmMuICovCiAjaWYgIWRlZmlu
ZWQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSKQotI2lmIEVOQUJMRShKSVQpICYmIChPUyhXSU5E
T1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpCisjaWYgIUVOQUJMRShDX0xPT1ApICYmIChP
UyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpCiAjZGVmaW5lIEVOQUJMRV9TQU1Q
TElOR19QUk9GSUxFUiAxCiAjZWxzZQogI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIg
MApAQCAtOTUxLDcgKzk2MCw3IEBACiAjZGVmaW5lIEVOQUJMRV9DT01QVVRFRF9HT1RPX09QQ09E
RVMgMQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoSklUKSAmJiAhQ09NUElMRVIoTVNWQykgJiYgXAor
I2lmICFFTkFCTEUoQ19MT09QKSAmJiAhQ09NUElMRVIoTVNWQykgJiYgXAogICAgIChDUFUoWDg2
KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNNjQpIHx8IChDUFUoQVJNX1RIVU1CMikgJiYgT1Mo
REFSV0lOKSkpCiAvKiBUaGlzIGZlYXR1cmUgd29ya3MgYnkgZW1iZWRkaW5nIHRoZSBPcGNvZGVJ
RCBpbiB0aGUgMzIgYml0IGp1c3QgYmVmb3JlIHRoZSBnZW5lcmF0ZWQgTExpbnQgY29kZQogICAg
dGhhdCBleGVjdXRlcyBlYWNoIG9wY29kZS4gSXQgY2Fubm90IGJlIHN1cHBvcnRlZCBieSB0aGUg
Q0xvb3Agc2luY2UgdGhlcmUncyBubyB3YXkgdG8gZW1iZWQgdGhlCkBAIC05ODEsNyArOTkwLDcg
QEAKIAogLyogSWYgZWl0aGVyIHRoZSBKSVQgb3IgdGhlIFJlZ0V4cCBKSVQgaXMgZW5hYmxlZCwg
dGhlbiB0aGUgQXNzZW1ibGVyIG11c3QgYmUKICAgIGVuYWJsZWQgYXMgd2VsbDogKi8KLSNpZiBF
TkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9KSVQpCisjaWYgRU5BQkxFKEpJVCkgfHwgRU5BQkxF
KFlBUlJfSklUKSB8fCAhRU5BQkxFKENfTE9PUCkKICNpZiBkZWZpbmVkKEVOQUJMRV9BU1NFTUJM
RVIpICYmICFFTkFCTEVfQVNTRU1CTEVSCiAjZXJyb3IgIkNhbm5vdCBlbmFibGUgdGhlIEpJVCBv
ciBSZWdFeHAgSklUIHdpdGhvdXQgZW5hYmxpbmcgdGhlIEFzc2VtYmxlciIKICNlbHNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggMTE2ZTBkOTY5NzRmMTJlZGRlMDYwNWMxZTdjZjZk
MjM4YmYzZmEwMC4uYWEwZGE2YTdlNWZlNGJiODBiZjMxMmU3OTU0NjhiNzlhYjczOTZlYiAxMDA2
NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtNzEsOSArNzEsMTMgQEAgbWFjcm8oV0VCS0lU
X09QVElPTl9CRUdJTikKICAgICBpZiAoV1RGX0NQVV9BUk0gT1IgV1RGX0NQVV9BUk02NCBPUiBX
VEZfQ1BVX01JUFMgT1IgV1RGX0NQVV9YODZfNjQgT1IgV1RGX0NQVV9YODYpCiAgICAgICAgIHNl
dChFTkFCTEVfSklUX0RFRkFVTFQgT04pCiAgICAgICAgIHNldChVU0VfU1lTVEVNX01BTExPQ19E
RUZBVUxUIE9GRikKKyAgICAgICAgc2V0KEVOQUJMRV9DX0xPT1BfREVGQVVMVCBPRkYpCisgICAg
ICAgIHNldChFTkFCTEVfU0FNUExJTkdfUFJPRklMRVJfREVGQVVMVCBPTikKICAgICBlbHNlICgp
CiAgICAgICAgIHNldChFTkFCTEVfSklUX0RFRkFVTFQgT0ZGKQogICAgICAgICBzZXQoVVNFX1NZ
U1RFTV9NQUxMT0NfREVGQVVMVCBPTikKKyAgICAgICAgc2V0KEVOQUJMRV9DX0xPT1BfREVGQVVM
VCBPTikKKyAgICAgICAgc2V0KEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUl9ERUZBVUxUIE9GRikK
ICAgICBlbmRpZiAoKQogCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFXzNEX1RSQU5T
Rk9STVMgIlRvZ2dsZSAzRCB0cmFuc2Zvcm1zIHN1cHBvcnQiIFBSSVZBVEUgT04pCkBAIC0xMDAs
NiArMTA0LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQgIlRvZ2dsZSBDU1MgU2VsZWN0b3Jz
IExldmVsIDQgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkgIlRvZ2dsZSBjdXJzb3IgdmlzaWJpbGl0eSBzdXBwb3J0
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSICJUb2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBvcnQiIFBSSVZB
VEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DX0xPT1AgIkVuYWJsZSBD
TG9vcCBpbnRlcnByZXRlciIgUFJJVkFURSAke0VOQUJMRV9DX0xPT1BfREVGQVVMVH0pCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUICJUb2dnbGUgZGFz
aGJvYXJkIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFICJUb2dnbGUgZGF0YWN1ZSB2YWx1ZSBzdXBwb3J0IiBQUklWQVRF
IE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCAi
VG9nZ2xlIEhUTUw1IGRhdGFsaXN0IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpAQCAtMTU4LDcgKzE2
Myw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkgIlRvZ2dsZSByZXNvbHV0aW9uIG1lZGlh
IHF1ZXJ5IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSAiVG9nZ2xlIHJlc291cmNlIHVzYWdlIHN1cHBvcnQiIFBSSVZB
VEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9SVUJCRVJfQkFORElORyAi
VG9nZ2xlIHJ1YmJlciBiYW5kaW5nIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQotICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiAiVG9nZ2xlIHNhbXBsaW5nIHBy
b2ZpbGVyIHN1cHBvcnQiIFBSSVZBVEUgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX1NBTVBMSU5HX1BST0ZJTEVSICJUb2dnbGUgc2FtcGxpbmcgcHJvZmlsZXIgc3VwcG9ydCIg
UFJJVkFURSAke0VOQUJMRV9TQU1QTElOR19QUk9GSUxFUl9ERUZBVUxUfSkKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfU0VSVklDRV9DT05UUk9MUyAiVG9nZ2xlIHNlcnZpY2UgY29u
dHJvbHMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSICJUb2dnbGUgU2VydmljZVdvcmtlciBzdXBwb3J0IiBQUklWQVRF
IE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU01PT1RIX1NDUk9MTElORyAi
VG9nZ2xlIHNtb290aCBzY3JvbGxpbmciIFBSSVZBVEUgT04pCkBAIC0xOTAsMTIgKzE5NSwxNCBA
QCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9YU0xUICJUb2dnbGUgWFNMVCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKFVTRV9TWVNURU1fTUFMTE9DICJUb2dnbGUgc3lzdGVtIGFsbG9jYXRvciBp
bnN0ZWFkIG9mIFdlYktpdCdzIGN1c3RvbSBhbGxvY2F0b3IiIFBSSVZBVEUgJHtVU0VfU1lTVEVN
X01BTExPQ19ERUZBVUxUfSkKIAorICAgIFdFQktJVF9PUFRJT05fQ09ORkxJQ1QoRU5BQkxFX0pJ
VCBFTkFCTEVfQ19MT09QKQorICAgIFdFQktJVF9PUFRJT05fQ09ORkxJQ1QoRU5BQkxFX1NBTVBM
SU5HX1BST0ZJTEVSIEVOQUJMRV9DX0xPT1ApCisKICAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChF
TkFCTEVfV0VCX1JUQyBFTkFCTEVfTUVESUFfU1RSRUFNKQogICAgIFdFQktJVF9PUFRJT05fREVQ
RU5EKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBIEVOQUJMRV9WSURFTykKICAgICBXRUJL
SVRfT1BUSU9OX0RFUEVORChFTkFCTEVfREZHX0pJVCBFTkFCTEVfSklUKQogICAgIFdFQktJVF9P
UFRJT05fREVQRU5EKEVOQUJMRV9GVExfSklUIEVOQUJMRV9ERkdfSklUKQogICAgIFdFQktJVF9P
UFRJT05fREVQRU5EKEVOQUJMRV9XRUJBU1NFTUJMWSBFTkFCTEVfRlRMX0pJVCkKLSAgICBXRUJL
SVRfT1BUSU9OX0RFUEVORChFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIgRU5BQkxFX0pJVCkKICAg
ICBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
IEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQgRU5BQkxFX1ZJREVPKQogICAgIFdFQktJVF9PUFRJT05f
REVQRU5EKEVOQUJMRV9NRURJQV9TT1VSQ0UgRU5BQkxFX1ZJREVPKQpkaWZmIC0tZ2l0IGEvQ2hh
bmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDFmOWQ5ZjQxZWJmYTMwMzNmYmFkZGFkMzk0OTNhYjYw
ZTViZTViNmMuLmI1MzkwMWM0Yzk1ZjkxZTNmNTBmNGQyMzhkZWZkMTk5ZTg1ZjZlZTYgMTAwNjQ0
Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0w
OS0yMSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQub3JnPgorCisgICAg
ICAgIFtKU0NdIEVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIgb24gWDY0IGFuZCBBUk02NCBp
biBub24gSklUIGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4OTc3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiBkb2VzIG5vdCBkZXBlbmQg
b24gRU5BQkxFX0pJVCBub3cgc2luY2UgaXQgY2FuIGJlCisgICAgICAgIHVzZWQgd2l0aCBMTElu
dCBBU00gaW50ZXJwcmV0ZXIuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2U6CisKIDIwMTgtMDktMjAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFVwZGF0ZSBHVEsrIGxpYnJhcnkgdmVy
c2lvbnMgYWZ0ZXIgcjIzNTM2Mi4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350355</attachid>
            <date>2018-09-21 06:56:16 -0700</date>
            <delta_ts>2018-09-21 10:37:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189778-20180921225615.patch</filename>
            <type>text/plain</type>
            <size>73601</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
YzY1MjUxNTMwY2JhMjFiMjlkNmYyZGZmZWQzYmE1MDk1OTIyZjk3Li44YjlkYTk1OTgzNGFhMzI3
MzlmYjNiM2ZjMjgxN2FiMmE2OGQyM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTEgQEAKKzIwMTgtMDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xv
d3N0YXJ0Lm9yZz4KKworICAgICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVy
IG9uIFg2NCBhbmQgQVJNNjQgaW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMTEludCBBU00gaW50ZXJwcmV0ZXIg
aXMgMnggYW5kIDE1JSBmYXN0ZXIgdGhhbiBDTG9vcCBpbnRlcnByZXRlciBvbgorICAgICAgICBM
aW51eCBhbmQgbWFjT1MgcmVzcGVjdGl2ZWx5LiBXZSB3b3VsZCBsaWtlIHRvIGVuYWJsZSBpdCBm
b3Igbm9uIEpJVAorICAgICAgICBjb25maWd1cmF0aW9uIGluIFg4Nl82NCBhbmQgQVJNNjQuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBlbmFibGVzIExMSW50IGZvciBub24gSklUIGluIFg4Nl82NCBh
bmQgQVJNNjQgYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgUHJldmlvdXNseSwgd2Ugc3dpdGNoIExM
SW50IEFTTSBpbnRlcnByZXRlciBhbmQgQ0xvb3AgYnkgdXNpbmcgRU5BQkxFKEpJVCkKKyAgICAg
ICAgY29uZmlndXJhdGlvbi4gQnV0IGl0IGlzIHdyb25nIGluIHRoZSBuZXcgc2NlbmFyaW8gc2lu
Y2Ugd2UgaGF2ZSBhIGJ1aWxkeAorICAgICAgICBjb25maWd1cmF0aW9uIHRoYXQgdXNlcyBMTElu
dCBBU00gaW50ZXJwcmV0ZXIgYW5kIEpJVCBpcyBkaXNhYmxlZC4gV2UgaW50cm9kdWNlCisgICAg
ICAgIEVOQUJMRShDX0xPT1ApIG9wdGlvbiwgd2hpY2ggcmVwcmVzZW50cyB0aGF0IHdlIHVzZSBD
TG9vcC4gQW5kIHdlIHJlcGxhY2UKKyAgICAgICAgRU5BQkxFKEpJVCkgd2l0aCBFTkFCTEUoQ19M
T09QKSBpZiB0aGUgcHJldmlvdXMgRU5BQkxFKEpJVCkgaXMgZXNzZW50aWFsbHkganVzdAorICAg
ICAgICByZWxhdGVkIHRvIExMSW50IEFTTSBpbnRlcnByZXRlciBhbmQgbm90IHJlbGF0ZWQgdG8g
SklULgorCisgICAgICAgIFdlIGFsc28gcmVwbGFjZSBzb21lIEVOQUJMRShKSVQpIGNvbmZpZ3Vy
YXRpb25zIHdpdGggRU5BQkxFKEFTU0VNQkxFUikuCisgICAgICAgIEVOQUJMRShBU1NFTUJMRVIp
IGlzIG5vdyBlbmFibGVkIGV2ZW4gaWYgd2UgZGlzYWJsZSBKSVQgc2luY2UgTWFjcm9Bc3NlbWJs
ZXIKKyAgICAgICAgaGFzIG1hY2hpbmUgcmVnaXN0ZXIgaW5mb3JtYXRpb24gdGhhdCBpcyB1c2Vk
IGluIExMSW50IEFTTSBpbnRlcnByZXRlci4KKworICAgICAgICAqIEFQSS90ZXN0cy9QaW5nUG9u
Z1N0YWNrT3ZlcmZsb3dUZXN0LmNwcDoKKyAgICAgICAgKHRlc3RQaW5nUG9uZ1N0YWNrT3ZlcmZs
b3cpOgorICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYXNzZW1ibGVyL01heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmg6CisgICAgICAgICogYnl0ZWNvZGUvQ2FsbFJldHVybk9m
ZnNldFRvQnl0ZWNvZGVPZmZzZXQuaDogUmVtb3ZlZC4gSXQgaXMgbm8gbG9uZ2VyIHVzZWQuCisg
ICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2Nr
OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmg6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6Y2FsbGVlU2F2ZVJlZ2lzdGVycyBjb25zdCk6CisgICAgICAg
IChKU0M6OkNvZGVCbG9jazo6bnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVy
cyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFj
ZUFzVmlydHVhbFJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Y2FsbGVlU2F2
ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzKToKKyAgICAgICAgKiBieXRlY29kZS9PcGNvZGUuaDoK
KyAgICAgICAgKEpTQzo6cGFkT3Bjb2RlTmFtZSk6CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoK
KyAgICAgICAgKEpTQzo6SGVhcDo6Z2F0aGVySlNTdGFja1Jvb3RzKToKKyAgICAgICAgKEpTQzo6
SGVhcDo6c3RvcFRoZVBlcmlwaGVyeSk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFj
ay5jcHA6CisgICAgICAgICogaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oOgorICAgICAgICAqIGlu
dGVycHJldGVyL0NMb29wU3RhY2tJbmxpbmVzLmg6CisgICAgICAgICogaW50ZXJwcmV0ZXIvRW50
cnlGcmFtZS5oOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAg
ICAgKEpTQzo6SW50ZXJwcmV0ZXI6OkludGVycHJldGVyKToKKyAgICAgICAgKEpTQzo6VW53aW5k
RnVuY3Rvcjo6Y29weUNhbGxlZVNhdmVzVG9FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIgY29u
c3QpOgorICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmg6CisgICAgICAgICogaW50
ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpG
cmFtZTo6Y2FsbGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvVk1FbnRy
eVJlY29yZC5oOgorICAgICAgICAqIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmg6CisgICAgICAg
ICogaml0L0ZQUkluZm8uaDoKKyAgICAgICAgKFdURjo6cHJpbnRJbnRlcm5hbCk6CisgICAgICAg
ICogaml0L0dQUkluZm8uY3BwOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChX
VEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNw
cDoKKyAgICAgICAgKEpTQzo6Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpOiBN
b3ZlZC4gVGhleSBhcmUgdXNlZCBpbiBMTEludCBBU00gaW50ZXJwcmV0ZXIgdG9vLgorICAgICAg
ICAqIGppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmg6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlv
bnMuY3BwOgorICAgICAgICAoSlNDOjpnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0
ZSk6IERlbGV0ZWQuCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwOgorICAg
ICAgICAqIGppdC9SZWcuY3BwOgorICAgICAgICAqIGppdC9SZWcuaDoKKyAgICAgICAgKiBqaXQv
UmVnaXN0ZXJBdE9mZnNldC5jcHA6CisgICAgICAgICogaml0L1JlZ2lzdGVyQXRPZmZzZXQuaDoK
KyAgICAgICAgKiBqaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuY3BwOgorICAgICAgICAqIGppdC9S
ZWdpc3RlckF0T2Zmc2V0TGlzdC5oOgorICAgICAgICAqIGppdC9SZWdpc3Rlck1hcC5oOgorICAg
ICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgICogaml0L1JlZ2lzdGVyU2V0Lmg6
CisgICAgICAgICogaml0L1RlbXBSZWdpc3RlclNldC5jcHA6CisgICAgICAgICogaml0L1RlbXBS
ZWdpc3RlclNldC5oOgorICAgICAgICAqIGxsaW50L0xMSW50Q0xvb3AuY3BwOgorICAgICAgICAq
IGxsaW50L0xMSW50Q0xvb3AuaDoKKyAgICAgICAgKiBsbGludC9MTEludERhdGEuY3BwOgorICAg
ICAgICAoSlNDOjpMTEludDo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChKU0M6OkxMSW50OjpEYXRh
OjpwZXJmb3JtQXNzZXJ0aW9ucyk6CisgICAgICAgICogbGxpbnQvTExJbnREYXRhLmg6CisgICAg
ICAgICogbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmg6CisgICAgICAgICogbGxpbnQvTExJ
bnRPcGNvZGUuaDoKKyAgICAgICAgKiBsbGludC9MTEludFBDUmFuZ2VzLmg6CisgICAgICAgICog
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6TExJTlRfU0xP
V19QQVRIX0RFQ0wpOgorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAg
ICogbGxpbnQvTExJbnRUaHVua3MuY3BwOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaDoKKyAgICAg
ICAgKiBydW50aW1lL0pTQ0pTVmFsdWUuaDoKKyAgICAgICAgKiBydW50aW1lL01hY2hpbmVDb250
ZXh0Lmg6CisgICAgICAgICogcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcDoKKyAgICAgICAg
KEpTQzo6U2FtcGxpbmdQcm9maWxlcjo6cHJvY2Vzc1VudmVyaWZpZWRTdGFja1RyYWNlcyk6IEVu
YWJsZSBTYW1wbGluZ1Byb2ZpbGVyCisgICAgICAgIGZvciBMTEludCBBU00gaW50ZXJwcmV0ZXIg
d2l0aCBub24gSklUIGNvbmZpZ3VyYXRpb24uCisgICAgICAgICogcnVudGltZS9UZXN0UnVubmVy
VXRpbHMuY3BwOgorICAgICAgICAoSlNDOjpvcHRpbWl6ZU5leHRJbnZvY2F0aW9uKToKKyAgICAg
ICAgKiBydW50aW1lL1ZNLmNwcDoKKyAgICAgICAgKEpTQzo6Vk06OlZNKToKKyAgICAgICAgKEpT
Qzo6Vk06OmdldEhvc3RGdW5jdGlvbik6CisgICAgICAgIChKU0M6OlZNOjp1cGRhdGVTb2Z0UmVz
ZXJ2ZWRab25lU2l6ZSk6CisgICAgICAgIChKU0M6OnNhbml0aXplU3RhY2tGb3JWTSk6CisgICAg
ICAgIChKU0M6OlZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCk6CisgICAgICAgICogcnVudGlt
ZS9WTS5oOgorICAgICAgICAqIHJ1bnRpbWUvVk1JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlZN
OjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yKToKKyAgICAgICAgKEpTQzo6Vk06OmlzU2FmZVRvUmVj
dXJzZVNvZnQgY29uc3QpOgorCiAyMDE4LTA5LTIwICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzYyOTMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IDg5NWJmOTkxNjNkYjNhYWRiMWZjNzRlM2QzMWUzMjQxODZjMWM5MmUuLmU3ODM4ZDdhOGM2
YTI4Y2FkZDU1M2Y4YTEzYzY2ZmFlNzQ2M2E3NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTgt
MDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0Lm9yZz4KKworICAg
ICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVyIG9uIFg2NCBhbmQgQVJNNjQg
aW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgRU5BQkxFKENfTE9PUCkgd2hpY2ggaW5k
aWNhdGVzIHdlIHVzZSBDTG9vcCBhcyB0aGUgaW50ZXJwcmV0ZXIuCisgICAgICAgIFByZXZpb3Vz
bHksIHdlIHVzZWQgIUVOQUJMRShKSVQpIGZvciB0aGlzIGNvbmZpZ3VyYXRpb24uIEJ1dCBub3cs
IHdlIGhhdmUKKyAgICAgICAgYSBidWlsZCBjb25maWd1cmF0aW9uIHRoYXQgaGFzIExMSW50IEFT
TSBpbnRlcnByZXRlciAobm90IENMb29wKSBhbmQgIUVOQUJMRShKSVQpLgorCisgICAgICAgIFdl
IGVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIgZm9yIG5vbiBKSVQgZW52aXJvbm1lbnQgaW4g
WDg2XzY0IGFuZCBBUk02NCBhcmNoaXRlY3R1cmVzLgorICAgICAgICBBbmQgd2UgZW5hYmxlIEVO
QUJMRShBU1NFTUJMRVIpIGZvciBub24gSklUIGVudmlyb25tZW50IHNpbmNlIGl0IG9mZmVycyBt
YWNoaW5lIHJlZ2lzdGVyCisgICAgICAgIGluZm9ybWF0aW9uIHdoaWNoIGlzIHVzZWQgZm9yIExM
SW50IGFuZCBTYW1wbGluZ1Byb2ZpbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTgtMDktMjAgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAK
ICAgICAgICAgW1dpbl1bQ2xhbmddIFVOVVNFRF9QQVJBTSh0aGlzKSBjYXVzZXMgY29tcGlsYXRp
b24gZXJyb3Igb2YgImNhbm5vdCB0YWtlIHRoZSBhZGRyZXNzIG9mIGFuIHJ2YWx1ZSBvZiB0eXBl
IgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0
YWNrT3ZlcmZsb3dUZXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvUGlu
Z1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAKaW5kZXggZmJlNDY4NzIwMzJiODYxMDkwMzM0NWY2
NDdlYWRkYTM0YzBkODk5MS4uODMyYmQxNDBiYzk1ZWFkYmQ1NmI0MjhmNzAzNzE3YTQ3MzRlYmM3
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0
YWNrT3ZlcmZsb3dUZXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3Rz
L1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgaW50IHRl
c3RQaW5nUG9uZ1N0YWNrT3ZlcmZsb3coKQogCiAgICAgT3B0aW9uczo6c29mdFJlc2VydmVkWm9u
ZVNpemUoKSA9IDEyOCAqIEtCOwogICAgIE9wdGlvbnM6OnJlc2VydmVkWm9uZVNpemUoKSA9IDY0
ICogS0I7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIC8vIE5vcm1h
bGx5LCB3ZSB3YW50IHRvIGRpc2FibGUgdGhlIExMSU5UIHRvIGZvcmNlIHRoZSB1c2Ugb2YgSklU
dGVkIGNvZGUgd2hpY2ggaXMgbmVjZXNzYXJ5IGZvcgogICAgIC8vIHJlcHJvZHVjaW5nIHRoZSBy
ZWdyZXNzaW9uIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg3
NDkuIEhvd2V2ZXIsIHdlIG9ubHkKICAgICAvLyB3YW50IHRvIGRvIHRoaXMgaWYgdGhlIExMSU5U
IGlzbid0IHRoZSBvbmx5IGF2YWlsYWJsZSBleGVjdXRpb24gZW5naW5lLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDk2ZTMzYTIwNTc3YTRhNTc1NGExZmVhOTQzMmQ3OTY0
MDYxMjQzMjIuLjAxYzcwNWE5NTU3OWE1ZWFmZTVmNjE3Y2RhYzI5ZWE3MzBiNmJhMDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTIzMSw3ICsyMzEsOSBAQCBlbHNlICgp
CiAgICAgZW5kaWYgKCkKIAogICAgIGlmIChOT1QgRU5BQkxFX0pJVCkKLSAgICAgICAgc2V0KE9G
RkxJTkVfQVNNX0JBQ0tFTkQgIkNfTE9PUCIpCisgICAgICAgIGlmIChFTkFCTEVfQ19MT09QKQor
ICAgICAgICAgICAgc2V0KE9GRkxJTkVfQVNNX0JBQ0tFTkQgIkNfTE9PUCIpCisgICAgICAgIGVu
ZGlmICgpCiAgICAgZW5kaWYgKCkKIGVuZGlmICgpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggOWM1YzUwYzYyMWI4YjZlM2ZhNzM4YjNmOTZiYjI2YjFhZGJkOGRmZS4uNTdkMGU5
NmU2NTk2NmUwMGQ4ZjMxYWJlYjY2NTMxNWRjZjA0Y2NkZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEwOSw3ICsxMDksNiBAQAogCQkwRjBCODNBOTE0QkNGNTYyMDA4ODVCNEYg
LyogSGFuZGxlckluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDBGMEI4M0E4MTRCQ0Y1NUUwMDg4NUI0RiAvKiBIYW5kbGVySW5mby5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMEI4M0FCMTRCQ0Y1
QkIwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBCODNBQTE0QkNGNUI5MDA4ODVCNEYgLyogRXhw
cmVzc2lvblJhbmdlSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTBGMEI4M0IxMTRCQ0Y3MTgwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0FGMTRC
Q0Y3MTQwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjBCODNCOTE0QkNGOTVGMDA4ODVCNEYgLyogQ2Fs
bFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0I4MTRCQ0Y5NUIwMDg4NUI0RiAvKiBDYWxsUmV0
dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTBGMENBRUZDMUVDNERBNkIwMDk3MEQxMiAvKiBKU0hlYXBG
aW5hbGl6ZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjBDQUVGQTFFQzREQTYyMDA5NzBEMTIgLyogSlNIZWFwRmluYWxpemVyUHJpdmF0
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBG
MENBRUZGMUVDNERBODgwMDk3MEQxMiAvKiBIZWFwRmluYWxpemVyQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMENBRUZFMUVDNERBODUw
MDk3MEQxMiAvKiBIZWFwRmluYWxpemVyQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjBDRDRDMjE1RjFBNjA3MDAzMkYxQzAgLyog
UHV0RGlyZWN0SW5kZXhNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjBDRDRDMDE1RjFBNjA0MDAzMkYxQzAgLyogUHV0RGlyZWN0SW5kZXhNb2Rl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIw
MTEsNyArMjAxMCw2IEBACiAJCTBGMEI4M0FBMTRCQ0Y1QjkwMDg4NUI0RiAvKiBFeHByZXNzaW9u
UmFuZ2VJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV4cHJlc3Npb25S
YW5nZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYwQjgzQUUxNEJDRjcx
NDAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDYWxsTGlua0luZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxMaW5rSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQkwRjBCODNCODE0QkNGOTVCMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRv
Qnl0ZWNvZGVPZmZzZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsbFJl
dHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEYwQ0FFRjkxRUM0REE2MjAwOTcwRDEyIC8qIEpTSGVhcEZpbmFsaXplclByaXZhdGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIZWFwRmluYWxpemVyUHJp
dmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMENBRUZBMUVDNERBNjIw
MDk3MEQxMiAvKiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTSGVhcEZpbmFsaXplclByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEYwQ0FFRkQxRUM0REE4NTAwOTcwRDEyIC8qIEhlYXBGaW5hbGl6ZXJDYWxs
YmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIZWFwRmluYWxp
emVyQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzYzMSw3ICs3
NjI5LDYgQEAKIAkJCQkwRjkzMzI5NDE0Q0E3REMxMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMu
aCAqLywKIAkJCQk2Mjc2NzMyMTFCNjgwQzFFMDBGRDlGMkUgLyogQ2FsbE1vZGUuY3BwICovLAog
CQkJCTYyNzY3MzIyMUI2ODBDMUUwMEZEOUYyRSAvKiBDYWxsTW9kZS5oICovLAotCQkJCTBGMEI4
M0I4MTRCQ0Y5NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5o
ICovLAogCQkJCTBGM0I3RTI0MTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxsVmFyaWFudC5jcHAgKi8s
CiAJCQkJMEYzQjdFMjUxOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmggKi8sCiAJCQkJ
OTY5QTA3OTAwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9jay5jcHAgKi8sCkBAIC03ODMwLDcg
Kzc4MjcsNiBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk5OURB
MDA5OTFCRDU5OTI3MDBGNDU3NUMgLyogX19pbml0X18ucHkgKi8sCi0JCQkJOTlEQTAwOUQxQkQ1
OTkyNzAwRjQ1NzVDIC8qIHdrYnVpbHRpbnMucHkgKi8sCiAJCQkJOTlEQTAwOUUxQkQ1OTkyNzAw
RjQ1NzVDIC8qIGJ1aWx0aW5zX2dlbmVyYXRlX2NvbWJpbmVkX2hlYWRlci5weSAqLywKIAkJCQk5
OURBMDA5RjFCRDU5OTI3MDBGNDU3NUMgLyogYnVpbHRpbnNfZ2VuZXJhdGVfY29tYmluZWRfaW1w
bGVtZW50YXRpb24ucHkgKi8sCiAJCQkJNDEyOTUyNzMxRDJDRjZBQzAwRTc4Qjg5IC8qIGJ1aWx0
aW5zX2dlbmVyYXRlX2ludGVybmFsc193cmFwcGVyX2hlYWRlci5weSAqLywKQEAgLTc4NDIsNiAr
NzgzOCw3IEBACiAJCQkJOTlEQTAwOUExQkQ1OTkyNzAwRjQ1NzVDIC8qIGJ1aWx0aW5zX2dlbmVy
YXRvci5weSAqLywKIAkJCQk5OURBMDA5QjFCRDU5OTI3MDBGNDU3NUMgLyogYnVpbHRpbnNfbW9k
ZWwucHkgKi8sCiAJCQkJOTlEQTAwOUMxQkQ1OTkyNzAwRjQ1NzVDIC8qIGJ1aWx0aW5zX3RlbXBs
YXRlcy5weSAqLywKKwkJCQk5OURBMDA5RDFCRDU5OTI3MDBGNDU3NUMgLyogd2tidWlsdGlucy5w
eSAqLywKIAkJCSk7CiAJCQlwYXRoID0gd2tidWlsdGluczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC04NDM5LDcgKzg0MzYsNiBAQAogCQkJCURFMjZFOTAzMUNCNUREMDUwMEQyQkU4
MiAvKiBCdWlsdGluRXhlY3V0YWJsZUNyZWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDgw
MUE1MTg4MEQ2NkUwMDI2QzM5QiAvKiBCdWlsdGluRXhlY3V0YWJsZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3NUVFOUIyMThBQUI3RTIwMEFBRDA0MyAvKiBCdWlsdGluTmFtZXMuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTk5REEwMEE2MUJENTk5MzEwMEY0NTc1QyAvKiB3a2J1aWx0aW5zLnB5IGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTlEQTAwQTcxQkQ1OTkzMTAwRjQ1NzVDIC8qIGJ1aWx0aW5zX2dl
bmVyYXRlX2NvbWJpbmVkX2hlYWRlci5weSBpbiBIZWFkZXJzICovLAogCQkJCTk5REEwMEE4MUJE
NTk5MzEwMEY0NTc1QyAvKiBidWlsdGluc19nZW5lcmF0ZV9jb21iaW5lZF9pbXBsZW1lbnRhdGlv
bi5weSBpbiBIZWFkZXJzICovLAogCQkJCTQxMjk1Mjc3MUQyQ0Y2QkMwMEU3OEI4OSAvKiBidWls
dGluc19nZW5lcmF0ZV9pbnRlcm5hbHNfd3JhcHBlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLywK
QEAgLTg0ODEsNyArODQ3Nyw2IEBACiAJCQkJMEYwQjgzQjExNEJDRjcxODAwODg1QjRGIC8qIENh
bGxMaW5rSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5MzMyOUUxNENBN0RDNTAwODVGM0M2
IC8qIENhbGxMaW5rU3RhdHVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2Mjc2NzMyNDFCNjgwQzFF
MDBGRDlGMkUgLyogQ2FsbE1vZGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTBGMEI4M0I5MTRCQ0Y5
NUYwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYzQjdFMkIxOUExMUI4MDAwRDlCQzU2IC8qIENhbGxWYXJpYW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlGRTgwQzE5NzFENzc1Q0REMDA4NTEwQzAgLyogQ2F0Y2hTY29wZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEYyNEU1NDIxN0VBOUY1OTAwQUJCMjE3IC8qIENDYWxsSGVs
cGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC05Njg5LDYgKzk2ODQsNyBAQAogCQkJCUFEQkM1NEQ1
MURGOEVBMkIwMDVCRjczOCAvKiBXZWJBc3NlbWJseVRvSlNDYWxsZWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUyRjZDMzVFMUU3MUVCMDgwMDgxRjRDQyAvKiBXZWJBc3NlbWJseVdyYXBwZXJGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0N0EwRTE2RjVDRDAwQjM0NDYwIC8qIFdl
YktpdEF2YWlsYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTlEQTAwQTYxQkQ1OTkzMTAw
RjQ1NzVDIC8qIHdrYnVpbHRpbnMucHkgaW4gSGVhZGVycyAqLywKIAkJCQlBN0RDQjk3MzEyRTUx
OTNGMDA5MTE5NDAgLyogV3JpdGVCYXJyaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMkI2RDc1
MzE4QTMzNzkzMDA0QTkzMDEgLyogV3JpdGVCYXJyaWVySW5saW5lcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEZDODE1MEExNDA0M0JGNTAwQ0ZBNjAzIC8qIFdyaXRlQmFycmllclN1cHBvcnQuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oCmluZGV4IGM2ZjUzYjM0
Nzk2NmM2NjM1NGQwMWY4YWQ2ZGNmYmNjODk3OWZmNzMuLjQzMjEzMDVjNjhlNGRhZjYyODIzZjZl
ZWY3NTk1MWZhMjdhOTM2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgKQEAgLTM1
LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyB0aGF0IGNhbiBiZSB1c2VkIGZvciBvdXRn
b2luZyBhcmdzIHdoZW4gY2FsbGluZyBhIHNsb3cgcGF0aCBDIGZ1bmN0aW9uCiAvLyBmcm9tIEpT
IGNvZGUuCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKEFTU0VNQkxFUikKIHN0YXRp
YyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSAwOwogCiAjZWxp
ZiBDUFUoWDg2XzY0KSAmJiBPUyhXSU5ET1dTKQpAQCAtNjksNyArNjksNyBAQCBzdGF0aWMgY29u
c3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gNDA7CiAKIENPTVBJTEVf
QVNTRVJUKCEobWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgJSBzaXplb2YoUmVnaXN0ZXIp
KSwgZXh0ZW50X211c3RfYmVfaW5fbXVsdGlwbGVzX29mX3JlZ2lzdGVycyk7CiAKLSNpZiBFTkFC
TEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAvLyBNYWtlIHN1cmUgdGhhdCBjZnIgLSBt
YXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCBieXRlcyB3aWxsIG1ha2UgdGhlIHN0YWNrIHBv
aW50ZXIgYWxpZ25lZAogQ09NUElMRV9BU1NFUlQoKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsICUgMTYpID09IDE2IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpLCBleHRlbnRfbXVzdF9h
bGlnbl9zdGFja19mcm9tX2NhbGxmcmFtZV9wb2ludGVyKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxSZXR1cm5PZmZzZXRUb0J5dGVjb2Rl
T2Zmc2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbFJldHVybk9mZnNl
dFRvQnl0ZWNvZGVPZmZzZXQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQxYjAw
Y2JlODE4MTIyZjZlNzIwMjc3Y2NjZjIwNjZhYmY3ZWFhNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDU0
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBKU0MgewotCi0jaWYgRU5BQkxFKEpJVCkKLS8vIFRo
aXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gbWFwIGZyb20gYSBjYWxsIHJldHVybiBsb2NhdGlvbgot
Ly8gKGdpdmVuIGFzIGFuIG9mZnNldCBpbiBieXRlcyBpbnRvIHRoZSBKSVQgY29kZSkgYmFjayB0
bwotLy8gdGhlIGJ5dGVjb2RlIGluZGV4IG9mIHRoZSBjb3JyZXNwb25kaW5nIGJ5dGVjb2RlIG9w
ZXJhdGlvbi4KLS8vIFRoaXMgaXMgdGhlbiB1c2VkIHRvIGxvb2sgdXAgdGhlIGNvcnJlc3BvbmRp
bmcgaGFuZGxlci4KLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBtYWRlIGlubGluaW5nIGF3YXJl
ISBDdXJyZW50bHkgaXQgaXNuJ3QKLS8vIGJlY2F1c2Ugd2UgbmV2ZXIgaW5saW5lIGNvZGUgdGhh
dCBoYXMgZXhjZXB0aW9uIGhhbmRsZXJzLgotc3RydWN0IENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0IHsKLSAgICBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldCh1bnNpZ25l
ZCBjYWxsUmV0dXJuT2Zmc2V0LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCkKLSAgICAgICAgOiBj
YWxsUmV0dXJuT2Zmc2V0KGNhbGxSZXR1cm5PZmZzZXQpCi0gICAgICAgICwgYnl0ZWNvZGVPZmZz
ZXQoYnl0ZWNvZGVPZmZzZXQpCi0gICAgewotICAgIH0KLQotICAgIHVuc2lnbmVkIGNhbGxSZXR1
cm5PZmZzZXQ7Ci0gICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQ7Ci19OwotCi1pbmxpbmUgdW5z
aWduZWQgZ2V0Q2FsbFJldHVybk9mZnNldChDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNl
dCogcGMpCi17Ci0gICAgcmV0dXJuIHBjLT5jYWxsUmV0dXJuT2Zmc2V0OwotfQotI2VuZGlmCi0K
LX0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAppbmRleCAyN2FmMGZkZTJjMDhjNWE1NGZiODE5ZDFhY2MzYjEzNGU3NjMxNWUz
Li42NTRjMTQ3MTc3ODRlYmY5NjE5ZjM1YjQ0Njc1OGFlOTAxNDAyNGExIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtODksNyArODksNyBAQAog
I2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1Vu
aXF1ZWRTdHJpbmdJbXBsLmg+CiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJM
RVIpCiAjaW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldExpc3QuaCIKICNlbmRpZgogCkBAIC01MDks
NyArNTA5LDcgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgU2NyaXB0
RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKICAgICBpZiAoc2l6ZV90IHNpemUg
PSB1bmxpbmtlZENvZGVCbG9jay0+bnVtYmVyT2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZXMoKSkK
ICAgICAgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZXMgPSBSZWZDb3VudGVkQXJyYXk8T2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGU+KHNpemUpOwogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5B
QkxFKENfTE9PUCkKICAgICBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJzKFJlZ2lzdGVyU2V0OjpsbGlu
dEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKICNlbmRpZgogCkBAIC0yMTQ1LDcgKzIx
NDUsNyBAQCB1bnNpZ25lZCBDb2RlQmxvY2s6OnJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyKCkg
Y29uc3QKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAh
RU5BQkxFKENfTE9PUCkKIHZvaWQgQ29kZUJsb2NrOjpzZXRDYWxsZWVTYXZlUmVnaXN0ZXJzKFJl
Z2lzdGVyU2V0IGNhbGxlZVNhdmVSZWdpc3RlcnMpCiB7CiAgICAgbV9jYWxsZWVTYXZlUmVnaXN0
ZXJzID0gc3RkOjptYWtlX3VuaXF1ZTxSZWdpc3RlckF0T2Zmc2V0TGlzdD4oY2FsbGVlU2F2ZVJl
Z2lzdGVycyk7CkBAIC0yMTcyLDYgKzIxNzIsOSBAQCBzaXplX3QgQ29kZUJsb2NrOjpjYWxsZWVT
YXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKQogewogICAgIHJldHVybiByb3VuZENhbGxlZVNh
dmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyhtX2NhbGxlZVNhdmVSZWdpc3RlcnMtPnNpemUoKSk7
CiB9CisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpCiAKIHZvaWQgQ29kZUJsb2NrOjpjb3VudFJl
b3B0aW1pemF0aW9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAppbmRleCBhM2EzZDI2MzkwMGQzMTIyYzA5ZTIwNGYzMmI1N2IzZTEwMWEzMmIyLi4wMTQ3
ZDdhNzljODlkNjFmNDIzZmQ0ZGVkZDNjY2M2ZTFlNDIzN2JjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC02NDUsMTEgKzY0NSwyMyBAQCBjbGFzcyBD
b2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAvLyB0byBhdm9pZCB0aHJhc2hpbmcuCiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdW5zaWduZWQgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXIo
KSBjb25zdDsKICAgICB2b2lkIGNvdW50UmVvcHRpbWl6YXRpb24oKTsKLSNpZiBFTkFCTEUoSklU
KQorCisjaWYgIUVOQUJMRShDX0xPT1ApCisgICAgdm9pZCBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJz
KFJlZ2lzdGVyU2V0KTsKKyAgICB2b2lkIHNldENhbGxlZVNhdmVSZWdpc3RlcnMoc3RkOjp1bmlx
dWVfcHRyPFJlZ2lzdGVyQXRPZmZzZXRMaXN0Pik7CisKKyAgICBSZWdpc3RlckF0T2Zmc2V0TGlz
dCogY2FsbGVlU2F2ZVJlZ2lzdGVycygpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU2F2ZVJlZ2lz
dGVycy5nZXQoKTsgfQorCiAgICAgc3RhdGljIHVuc2lnbmVkIG51bWJlck9mTExJbnRCYXNlbGlu
ZUNhbGxlZVNhdmVSZWdpc3RlcnMoKSB7IHJldHVybiBSZWdpc3RlclNldDo6bGxpbnRCYXNlbGlu
ZUNhbGxlZVNhdmVSZWdpc3RlcnMoKS5udW1iZXJPZlNldFJlZ2lzdGVycygpOyB9CiAgICAgc3Rh
dGljIHNpemVfdCBsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJz
KCk7CiAgICAgc2l6ZV90IGNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpOworI2Vs
c2UKKyAgICBzdGF0aWMgdW5zaWduZWQgbnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJl
Z2lzdGVycygpIHsgcmV0dXJuIDA7IH0KKyAgICBzdGF0aWMgc2l6ZV90IGxsaW50QmFzZWxpbmVD
YWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9OworICAgIHNp
emVfdCBjYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9Cisj
ZW5kaWYKIAorI2lmIEVOQUJMRShKSVQpCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZERkdDb21waWxl
cygpOwogCiAgICAgaW50MzJfdCBjb2RlVHlwZVRocmVzaG9sZE11bHRpcGxpZXIoKSBjb25zdDsK
QEAgLTczOSwxNCArNzUxLDcgQEAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEpTQ2VsbCB7CiAg
ICAgYm9vbCBzaG91bGRSZW9wdGltaXplTm93KCk7CiAgICAgYm9vbCBzaG91bGRSZW9wdGltaXpl
RnJvbUxvb3BOb3coKTsKIAotICAgIHZvaWQgc2V0Q2FsbGVlU2F2ZVJlZ2lzdGVycyhSZWdpc3Rl
clNldCk7Ci0gICAgdm9pZCBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJzKHN0ZDo6dW5pcXVlX3B0cjxS
ZWdpc3RlckF0T2Zmc2V0TGlzdD4pOwotICAgIAotICAgIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBj
YWxsZWVTYXZlUmVnaXN0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJz
LmdldCgpOyB9CiAjZWxzZSAvLyBObyBKSVQKLSAgICBzdGF0aWMgdW5zaWduZWQgbnVtYmVyT2ZM
TEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpIHsgcmV0dXJuIDA7IH0KLSAgICBzdGF0
aWMgc2l6ZV90IGxsaW50QmFzZWxpbmVDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMo
KSB7IHJldHVybiAwOyB9OwotICAgIHNpemVfdCBjYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdp
c3RlcnMoKSB7IHJldHVybiAwOyB9CiAgICAgdm9pZCBvcHRpbWl6ZUFmdGVyV2FybVVwKCkgeyB9
CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZERkdDb21waWxlcygpIHsgcmV0dXJuIDA7IH0KICNlbmRp
ZgpAQCAtOTY1LDggKzk3MCwxMCBAQCBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsK
ICAgICBTZW50aW5lbExpbmtlZExpc3Q8TExJbnRDYWxsTGlua0luZm8sIEJhc2ljUmF3U2VudGlu
ZWxOb2RlPExMSW50Q2FsbExpbmtJbmZvPj4gbV9pbmNvbWluZ0xMSW50Q2FsbHM7CiAgICAgU3Ry
dWN0dXJlV2F0Y2hwb2ludE1hcCBtX2xsaW50R2V0QnlJZFdhdGNocG9pbnRNYXA7CiAgICAgUG9p
c29uZWRSZWZQdHI8Q29kZUJsb2NrUG9pc29uLCBKSVRDb2RlPiBtX2ppdENvZGU7Ci0jaWYgRU5B
QkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVnaXN0
ZXJBdE9mZnNldExpc3Q+IG1fY2FsbGVlU2F2ZVJlZ2lzdGVyczsKKyNlbmRpZgorI2lmIEVOQUJM
RShKSVQpCiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBTdHJ1Y3R1cmVTdHViSW5m
bz4gbV9zdHViSW5mb3M7CiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBKSVRBZGRJ
Qz4gbV9hZGRJQ3M7CiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBKSVRNdWxJQz4g
bV9tdWxJQ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bj
b2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmgKaW5kZXggNGVm
Mjc0ZmFlYjM0YjAxZjhlY2JjNmQ0ZGY5NTQwMWM4OTk3ZGEzOC4uYmUzODhlMTg5YzkzNzY2ZTRl
MGRmYWIxMjJiYTUxNWM2MDE0MTY3YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9P
cGNvZGUuaApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICN1bmRlZiBPUENPREVf
SURfRU5VTQogCiBjb25zdCBpbnQgbWF4T3Bjb2RlTGVuZ3RoID0gOTsKLSNpZiAhRU5BQkxFKEpJ
VCkKKyNpZiBFTkFCTEUoQ19MT09QKQogY29uc3QgaW50IG51bU9wY29kZUlEcyA9IE5VTUJFUl9P
Rl9CWVRFQ09ERV9JRFMgKyBOVU1CRVJfT0ZfQ0xPT1BfQllURUNPREVfSEVMUEVSX0lEUyArIE5V
TUJFUl9PRl9CWVRFQ09ERV9IRUxQRVJfSURTOwogI2Vsc2UKIGNvbnN0IGludCBudW1PcGNvZGVJ
RHMgPSBOVU1CRVJfT0ZfQllURUNPREVfSURTICsgTlVNQkVSX09GX0JZVEVDT0RFX0hFTFBFUl9J
RFM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4IDdhNDZhNTJlN2EzNzg1NDAy
YmYyMTM3N2QwODU0MWE0ZDU3Y2YwZDAuLmNjNGEzMzY1MWEyZjE5NmZjYWZiMzJhY2MwYTYwM2Q5
ODg4MjNmMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC02NzIsNyArNjcy
LDcgQEAgdm9pZCBIZWFwOjpnYXRoZXJTdGFja1Jvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJiByb290
cykKIAogdm9pZCBIZWFwOjpnYXRoZXJKU1N0YWNrUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMmIHJv
b3RzKQogewotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAgICAgbV92bS0+
aW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5nYXRoZXJDb25zZXJ2YXRpdmVSb290cyhyb290cywg
Km1faml0U3R1YlJvdXRpbmVzLCAqbV9jb2RlQmxvY2tzKTsKICNlbHNlCiAgICAgVU5VU0VEX1BB
UkFNKHJvb3RzKTsKQEAgLTE2MDUsOSArMTYwNSw4IEBAIHZvaWQgSGVhcDo6c3RvcFRoZVBlcmlw
aGVyeShHQ0NvbmR1Y3RvciBjb25uKQogICAgICAgICAgICAgJiYgY29ubiA9PSBHQ0NvbmR1Y3Rv
cjo6Q29sbGVjdG9yKQogICAgICAgICAgICAgc2V0R0NEaWRKSVQoKTsKICAgICB9Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZiAvLyBFTkFCTEUoSklUKQorICAgIFVOVVNF
RF9QQVJBTShjb25uKTsKICAgICAKICAgICB2bSgpLT5zaGFkb3dDaGlja2VuKCkudXBkYXRlKCp2
bSgpLCB2bSgpLT50b3BDYWxsRnJhbWUpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwCmluZGV4IGFiYzEwYThmZWFkMjg2MTUxOTY5
YmEyMjM1Y2IzNDdjN2U2MWU4NTcuLjlhMjAwNzI2NjI4OGI4YWRlZTNiODkwNTRlYjcyNjEyNTQ1
NDI3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9v
cFN0YWNrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BT
dGFjay5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJDTG9vcFN0YWNrLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQog
CiAjaW5jbHVkZSAiQ0xvb3BTdGFja0lubGluZXMuaCIKICNpbmNsdWRlICJDb25zZXJ2YXRpdmVS
b290cy5oIgpAQCAtMTYzLDQgKzE2Myw0IEBAIHNpemVfdCBDTG9vcFN0YWNrOjpjb21taXR0ZWRC
eXRlQ291bnQoKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklU
KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NMb29wU3RhY2suaAppbmRleCA5ZTVkZGExNGIyYmIwZDRmYzc3ZjVjN2Q2OTk0
YTdiZjI3NzFmMWJiLi4xZjRkOTlkOGI0MzRlOWI0NzllNDgzN2EyOWRmZGMxYmM1YzdhYjU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmgKQEAg
LTI4LDcgKzI4LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBF
TkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KQEAgLTEwNyw0ICsxMDcsNCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUo
Q19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NM
b29wU3RhY2tJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xv
b3BTdGFja0lubGluZXMuaAppbmRleCA5OTdmYWY2NmNjMzc4ODhmMTZjMmEzNWYwZGI1MjEzNTYz
Y2RjM2VlLi5mNmJhMTdjYzEwMDc2YzdmNDc5ZDk1ZjY2ZDViZGVkMmJlYjU1ZTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGlu
ZXMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmICFFTkFCTEUoSklU
KQorI2lmIEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJDTG9vcFN0YWNrLmgiCiAjaW5jbHVk
ZSAiQ2FsbEZyYW1lLmgiCkBAIC01OSw0ICs1OSw0IEBAIGlubGluZSB2b2lkIENMb29wU3RhY2s6
OnNldENMb29wU3RhY2tMaW1pdChSZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIAogfSAvLyBuYW1l
c3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQ19M
T09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0VudHJ5
RnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9FbnRyeUZyYW1lLmgK
aW5kZXggYmU4NDI1OTBmNmU5MGNjZGE2MTQ4ZmM2MGQwMWJiMjY3YzRhNGM4Ni4uOTUwOTU4ZDkz
NjViOGE1NWQ1NWIyOTY4OTc4NmFmYzAzNDNkOGU3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL0VudHJ5RnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5oCkBAIC0zMSw3ICszMSw3IEBACiBuYW1lc3Bh
Y2UgSlNDIHsKIAogc3RydWN0IEVudHJ5RnJhbWUgewotI2lmIEVOQUJMRShKSVQpICYmIE5VTUJF
Ul9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAorI2lmICFFTkFCTEUoQ19MT09QKSAmJiBO
VU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKICAgICBzdGF0aWMgcHRyZGlmZl90
IHZtRW50cnlSZWNvcmRPZmZzZXQoKQogICAgIHsKICAgICAgICAgRW50cnlGcmFtZSogZmFrZUVu
dHJ5RnJhbWUgPSByZWludGVycHJldF9jYXN0PEVudHJ5RnJhbWUqPigweDEwMDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXgg
NzEyNmQwMjlmNjIyM2IyZWEyMDAyNmE5MjY1ZGQ5NTJlYjQwNTI1NS4uYmJjNjlkYjY5YjFlN2Y5
ODQ0YzI3ODE0NjkyZTBiMGRmM2ZkZDdmZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVk
ZSAiUHJvdG9DYWxsRnJhbWUuaCIKICNpbmNsdWRlICJSZWdFeHBPYmplY3QuaCIKICNpbmNsdWRl
ICJSZWdpc3Rlci5oIgorI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZzZXRMaXN0LmgiCiAjaW5jbHVk
ZSAiU2NvcGVkQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKICNpbmNs
dWRlICJTdGFja0ZyYW1lLmgiCkBAIC0zMzIsNyArMzMzLDcgQEAgdm9pZCBzZXR1cEZvcndhcmRB
cmd1bWVudHNGcmFtZUFuZFNldFRoaXMoQ2FsbEZyYW1lKiBleGVjQ2FsbGVyLCBDYWxsRnJhbWUq
IGV4ZWMKIAogSW50ZXJwcmV0ZXI6OkludGVycHJldGVyKFZNJiB2bSkKICAgICA6IG1fdm0odm0p
Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICAsIG1fY2xvb3BTdGFj
ayh2bSkKICNlbmRpZgogewpAQCAtNTYzLDcgKzU2NCw3IEBAIGNsYXNzIFVud2luZEZ1bmN0b3Ig
ewogcHJpdmF0ZToKICAgICB2b2lkIGNvcHlDYWxsZWVTYXZlc1RvRW50cnlGcmFtZUNhbGxlZVNh
dmVzQnVmZmVyKFN0YWNrVmlzaXRvciYgdmlzaXRvcikgY29uc3QKICAgICB7Ci0jaWYgRU5BQkxF
KEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCisjaWYgIUVOQUJM
RShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAogICAgICAg
ICBSZWdpc3RlckF0T2Zmc2V0TGlzdCogY3VycmVudENhbGxlZVNhdmVzID0gdmlzaXRvci0+Y2Fs
bGVlU2F2ZVJlZ2lzdGVycygpOwogCiAgICAgICAgIGlmICghY3VycmVudENhbGxlZVNhdmVzKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRl
eCAwOGQ2NWJhNWJhZTM3NjAxNmZhNDcxMjkyOGJjNGZiYWVkNDI1NWZlLi44MTE3NTA2NjIzMjhh
Njg3ZjFjNzY5ZWViMTI2NTcxYTEzMjM3Y2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUg
IlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotI2lmICFFTkFC
TEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAjaW5jbHVkZSAiQ0xvb3BTdGFjay5oIgogI2Vu
ZGlmCiAKQEAgLTkzLDcgKzkzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEludGVycHJl
dGVyKFZNICYpOwogICAgICAgICB+SW50ZXJwcmV0ZXIoKTsKICAgICAgICAgCi0jaWYgIUVOQUJM
RShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICAgICAgQ0xvb3BTdGFjayYgY2xvb3BTdGFj
aygpIHsgcmV0dXJuIG1fY2xvb3BTdGFjazsgfQogI2VuZGlmCiAgICAgICAgIApAQCAtMTQ3LDcg
KzE0Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU1ZhbHVlIGV4ZWN1dGUoQ2FsbEZy
YW1lQ2xvc3VyZSYpOwogCiAgICAgICAgIFZNJiBtX3ZtOwotI2lmICFFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShDX0xPT1ApCiAgICAgICAgIENMb29wU3RhY2sgbV9jbG9vcFN0YWNrOwogI2VuZGlm
CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L1N0YWNrVmlzaXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcAppbmRleCA2MDkxMWFiMWU1N2MxZDUxMjM3ZDljYzdmNmEwOTY1ZWViMjdh
NjI0Li4yZThjOWE2MmIyNmFjYjA0M2VmZTRiYjZmZDBlNDdlNjUwZjMxNjRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcApAQCAt
MjU3LDcgKzI1Nyw3IEBAIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBTdGFja1Zpc2l0b3I6OkZyYW1l
OjpjYWxsZWVTYXZlUmVnaXN0ZXJzKCkKICAgICBpZiAoaXNJbmxpbmVkRnJhbWUoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSNpZiBFTkFCTEUoSklUKSAmJiBOVU1CRVJfT0ZfQ0FMTEVF
X1NBVkVTX1JFR0lTVEVSUyA+IDAKKyNpZiAhRU5BQkxFKENfTE9PUCkgJiYgTlVNQkVSX09GX0NB
TExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCiAKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCiAgICAg
aWYgKGlzV2FzbUZyYW1lKCkpIHsKQEAgLTI3Myw3ICsyNzMsNyBAQCBSZWdpc3RlckF0T2Zmc2V0
TGlzdCogU3RhY2tWaXNpdG9yOjpGcmFtZTo6Y2FsbGVlU2F2ZVJlZ2lzdGVycygpCiAgICAgaWYg
KENvZGVCbG9jayogY29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2NrKCkpCiAgICAgICAgIHJldHVy
biBjb2RlQmxvY2stPmNhbGxlZVNhdmVSZWdpc3RlcnMoKTsKIAotI2VuZGlmIC8vIEVOQUJMRShK
SVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAorI2VuZGlmIC8vICFF
TkFCTEUoQ19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKIAog
ICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1ZNRW50cnlSZWNvcmQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9WTUVudHJ5UmVjb3JkLmgKaW5kZXggZWRiN2U3ZThjOGJiYzI5ODVkMWM0MTVjYTQ1
ZTlmNTBlZmM2YzZkMC4uMjFhZTM1YjY5MWRjM2VkZWE5ZmE3ZjBkN2RhYjU5ZDdjMjZjYWVjMyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZNRW50cnlSZWNv
cmQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvVk1FbnRyeVJlY29y
ZC5oCkBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBWTUVudHJ5UmVjb3JkIHsKIAogICAgIEpTT2Jq
ZWN0KiBjYWxsZWUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZTsgfQogCi0jaWYgRU5BQkxFKEpJ
VCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCisjaWYgIUVOQUJMRShD
X0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAogICAgIGludHB0
cl90IGNhbGxlZVNhdmVSZWdpc3RlcnNCdWZmZXJbTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJ
U1RFUlNdOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
RXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmgKaW5kZXggMThiZGU0MWNlNGYxNDg5MzkyZDU5ZWUyNmNiMjNjMmYyNDRi
Mjg0Ny4uMDc3ZWQ1ODJlYTk0OGE0MTQxZGRhZTI3N2QwYjQ0ZWQ0MzUwN2ZiNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAgLTE0NSw3
ICsxNDUsNyBAQCBjbGFzcyBFeGVjdXRhYmxlQWxsb2NhdG9yIHsKIAogI2Vsc2UKIGlubGluZSBi
b29sIGlzSklUUEModm9pZCopIHsgcmV0dXJuIGZhbHNlOyB9Ci0jZW5kaWYgLy8gRU5BQkxFKEpJ
VCkgJiYgRU5BQkxFKEFTU0VNQkxFUikKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9GUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8uaAppbmRleCBh
MjRkMWNiNzVhM2ZmOTliNjM4OTVlYmJkMTc5YWU2MTQyZGE1NmVjLi40OGY0MDIyZWRlM2E3YjI3
OGI4ZWI1MWM2ZmU4YTNkN2MyMTcyYjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0ZQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8u
aApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIHR5cGVkZWYgTWFjcm9Bc3NlbWJs
ZXI6OkZQUmVnaXN0ZXJJRCBGUFJSZWc7CiBzdGF0aWMgY29uc3RleHByIEZQUlJlZyBJbnZhbGlk
RlBSUmVnIHsgRlBSUmVnOjpJbnZhbGlkRlBSUmVnIH07CiAKLSNpZiBFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShBU1NFTUJMRVIpCiAKICNpZiBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KQogCkBAIC0z
MzIsNyArMzMyLDcgQEAgY2xhc3MgRlBSSW5mbyB7CiAvLyBXZSB1c2UgdGhpcyBoYWNrIHRvIGdl
dCB0aGUgRlBSSW5mbyBmcm9tIHRoZSBGUFJSZWcgdHlwZSBpbiB0ZW1wbGF0ZXMgYmVjYXVzZSBv
dXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVsIGJhZC4uCiBjb25zdGV4cHIgRlBSSW5m
byB0b0luZm9Gcm9tUmVnKEZQUlJlZykgeyByZXR1cm4gRlBSSW5mbygpOyB9CiAKLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCkBAIC0zNDAsNyArMzQwLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIGlubGluZSB2
b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpGUFJSZWcgcmVnKQogewot
I2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICAgICBvdXQucHJpbnQoIiUi
LCBKU0M6OkZQUkluZm86OmRlYnVnTmFtZShyZWcpKTsKICNlbHNlCiAgICAgb3V0LnByaW50Zigi
JSVmciVkIiwgcmVnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BS
SW5mby5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uY3BwCmluZGV4IDVh
ODAwNWY5Yjg1ZDFjMGNmOThlMGMzMDNmZTkxYWE1MTZkNTk5MmYuLmFmOGUzNTgwNzRjZDQ1MzM4
ZDQ2NTQ5MWE1MmUwMjFhODcwN2JmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvR1BSSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZv
LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQ
UkluZm8uaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTQ4LDQgKzQ4LDQgQEAgY29uc3QgR1BSUmVnIEdQUkluZm86OnBh
dGNocG9pbnRTY3JhdGNoUmVnaXN0ZXIgPSBBUk02NFJlZ2lzdGVyczo6aXAwOwogCiB9IC8vIG5h
bWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFT
U0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5kZXggMmQzNzRlM2I4NTlk
M2RhYzc2ZmI4ZjRkZmMwOGExMGYxMzAwZTg3NC4uODA1NDQ5ZjdiMTU3ZjIxMzRhNzFkM2Q5OGFm
MzhlNjk5MWZmNzQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJ
bmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAgLTQxLDcg
KzQxLDcgQEAgZW51bSBOb1Jlc3VsdFRhZyB7IE5vUmVzdWx0IH07CiB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyOjpSZWdpc3RlcklEIEdQUlJlZzsKIHN0YXRpYyBjb25zdGV4cHIgR1BSUmVnIEludmFs
aWRHUFJSZWcgeyBHUFJSZWc6OkludmFsaWRHUFJSZWcgfTsKIAotI2lmIEVOQUJMRShKSVQpCisj
aWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiBjbGFzcyBKU1ZhbHVl
UmVncyB7CkBAIC04MTYsNyArODE2LDcgQEAgaW5saW5lIE5vUmVzdWx0VGFnIGV4dHJhY3RSZXN1
bHQoTm9SZXN1bHRUYWcpIHsgcmV0dXJuIE5vUmVzdWx0OyB9CiAvLyBXZSB1c2UgdGhpcyBoYWNr
IHRvIGdldCB0aGUgR1BSSW5mbyBmcm9tIHRoZSBHUFJSZWcgdHlwZSBpbiB0ZW1wbGF0ZXMgYmVj
YXVzZSBvdXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVsIGJhZC4uCiBjb25zdGV4cHIg
R1BSSW5mbyB0b0luZm9Gcm9tUmVnKEdQUlJlZykgeyByZXR1cm4gR1BSSW5mbygpOyB9CiAKLSNl
bmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCkBAIC04MjQsNyArODI0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKIGlu
bGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpHUFJSZWcgcmVn
KQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKICAgICBvdXQucHJp
bnQoIiUiLCBKU0M6OkdQUkluZm86OmRlYnVnTmFtZShyZWcpKTsKICNlbHNlCiAgICAgb3V0LnBy
aW50ZigiJSVyJWQiLCByZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSG9z
dENhbGxSZXR1cm5WYWx1ZS5jcHAKaW5kZXggZThkMDE5MTZiOWM1OTA0Nzk1Y2NjNWRiNmM0ZTZj
ZTgzNjExMTMwMi4uMTM3NWJiOTJjYzBkZWJiY2I3ZWFlZTAyNThkYjEwZjJmYmQ5NTgxMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RDYWxsUmV0dXJuVmFsdWUuY3Bw
CkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSG9zdENh
bGxSZXR1cm5WYWx1ZS5oIgogCisjaWYgIUVOQUJMRShDX0xPT1ApCisKICNpbmNsdWRlICJDYWxs
RnJhbWUuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTT2Jq
ZWN0LmgiCkBAIC0zNSw3ICszNywxMDkgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLS8vIE5vdGhp
bmcgdG8gc2VlIGhlcmUuCisvLyBOb3RlOiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNT
dGF0ZSgpIG5lZWRzIHRvIGJlIHBsYWNlZCBiZWZvcmUgdGhlCisvLyBkZWZpbml0aW9uIG9mIGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUoKSBiZWxvdyBiZWNhdXNlIHRoZSBXaW5kb3dzIGJ1aWxkCisv
LyByZXF1aXJlcyBpdC4KK2V4dGVybiAiQyIgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVS
Tl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUoRXhlY1N0
YXRlKiBleGVjKQoreworICAgIGlmICghZXhlYykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShKU1ZhbHVlKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoZXhlYy0+dm0oKS5o
b3N0Q2FsbFJldHVyblZhbHVlKTsKK30KKworI2lmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYg
Q1BVKFg4Nl82NCkKK2FzbSAoCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4i
CitTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCisgICAgImxl
YSAtOCglcnNwKSwgJXJkaVxuIgorICAgICJqbXAgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKKyk7CisKKyNlbGlmIENPTVBJTEVSKEdD
Q19PUl9DTEFORykgJiYgQ1BVKFg4NikKK2FzbSAoCisiLnRleHQiICJcbiIgXAorIi5nbG9ibCAi
IFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSElERV9TWU1CT0wo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiOiIgIlxuIgorICAgICJwdXNoICVlYnBcbiIKKyAgICAibW92ICVlc3AsICVl
YXhcbiIKKyAgICAibGVhbCAtNCglZXNwKSwgJWVzcFxuIgorICAgICJwdXNoICVlYXhcbiIKKyAg
ICAiY2FsbCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNT
dGF0ZSkgIlxuIgorICAgICJsZWFsIDgoJWVzcCksICVlc3BcbiIKKyAgICAicG9wICVlYnBcbiIK
KyAgICAicmV0XG4iCispOworCisjZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShB
Uk1fVEhVTUIyKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5hbGlnbiAyIiAiXG4iCisiLmdsb2Js
ICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitISURFX1NZTUJP
TChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCisiLnRodW1iIiAiXG4iCisiLnRodW1iX2Z1
bmMgIiBUSFVNQl9GVU5DX1BBUkFNKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJP
TF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICAic3ViIHIwLCBz
cCwgIzgiICJcbiIKKyAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZh
bHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorKTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5H
KSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5nbG9ibCAi
IFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSElERV9TWU1CT0wo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSU5MSU5FX0FSTV9GVU5DVElPTihnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKQorU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
OiIgIlxuIgorICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJF
TkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxp
ZiBDUFUoQVJNNjQpCithc20gKAorIi50ZXh0IiAiXG4iCisiLmFsaWduIDIiICJcbiIKKyIuZ2xv
YmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK0hJREVfU1lN
Qk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICAgInN1YiB4MCwgc3AsICMxNiIgIlxuIgorICAg
ICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0
ZSkgIlxuIgorKTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoTUlQUykK
KworI2lmIFdURl9NSVBTX1BJQworI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0aW9u
KSBcCisgICAgICAgICIuc2V0IG5vcmVvcmRlciIgIlxuIiBcCisgICAgICAgICIuY3Bsb2FkICQy
NSIgIlxuIiBcCisgICAgICAgICIuc2V0IHJlb3JkZXIiICJcbiIgXAorICAgICAgICAibGEgJHQ5
LCAiIExPQ0FMX1JFRkVSRU5DRShmdW5jdGlvbikgIlxuIgorI2Vsc2UKKyNkZWZpbmUgTE9BRF9G
VU5DVElPTl9UT19UOShmdW5jdGlvbikgIiIgIlxuIgorI2VuZGlmCisKK2FzbSAoCisiLnRleHQi
ICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJc
biIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJ
TkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICBMT0FEX0ZVTkNUSU9OX1RP
X1Q5KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKQorICAgICJhZGRpICRhMCwg
JHNwLCAtOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxpZiBDT01QSUxFUihNU1ZDKSAmJiBD
UFUoWDg2KQorZXh0ZXJuICJDIiB7CisgICAgX19kZWNsc3BlYyhuYWtlZCkgRW5jb2RlZEpTVmFs
dWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSgp
CisgICAgeworICAgICAgICBfX2FzbSBsZWEgZWF4LCBbZXNwIC0gNF0KKyAgICAgICAgX19hc20g
bW92IFtlc3AgKyA0XSwgZWF4OworICAgICAgICBfX2FzbSBqbXAgZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUKKyAgICB9Cit9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgSlND
CiAKKyNlbmRpZiAvLyAhRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKaW5kZXggNjJlYjJhNTY2Yjk4MTAyMDI3NzIzYTI3
MjZhZWY0NzI2YWViZDZjZS4uZDIxMWQxNGQ4Njk0Y2UwNWQ5OGI0ZDM2MDM0Y2RjNmZiOTEyNDcy
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZh
bHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVl
LmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKIAotI2lmIEVO
QUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAKICNpZiBDQUxMSU5HX0NPTlZFTlRJT05f
SVNfU1REQ0FMTAogI2RlZmluZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBDREVDTApA
QCAtNTcsNCArNTcsNCBAQCBpbmxpbmUgdm9pZCBpbml0aWFsaXplSG9zdENhbGxSZXR1cm5WYWx1
ZSgpIHsgfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcAppbmRleCBiMmViNDE4Y2ZmODlkNTIzMDIyYTYxYWRiMGI4YmU0ZjY4ODAy
ZTYyLi43YWFjZjZiMWMxNmY5MjE1YTJkODY1ODY2ZjNkMmMzYTg5MWQ0ZWNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTI5MDgsMTA5ICsyOTA4
LDYgQEAgaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNoZWNrSWZFeGNlcHRpb25Jc1Vu
Y2F0Y2hhYmxlQW5kTm90aWZ5UHJvZmlsZXIoRXgKIAogfSAvLyBleHRlcm4gIkMiCiAKLS8vIE5v
dGU6IGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKCkgbmVlZHMgdG8gYmUgcGxh
Y2VkIGJlZm9yZSB0aGUKLS8vIGRlZmluaXRpb24gb2YgZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSgp
IGJlbG93IGJlY2F1c2UgdGhlIFdpbmRvd3MgYnVpbGQKLS8vIHJlcXVpcmVzIGl0LgotZXh0ZXJu
ICJDIiBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0
Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgaWYg
KCFleGVjKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7Ci0gICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShleGVjLT52bSgpLmhvc3RDYWxsUmV0dXJuVmFsdWUpOwot
fQotCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2XzY0KQotYXNtICgKLSIu
Z2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVf
U1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLVNZTUJPTF9TVFJJTkcoZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKLSAgICAibGVhIC04KCVyc3ApLCAlcmRpXG4iCi0g
ICAgImptcCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNT
dGF0ZSkgIlxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoWDg2
KQotYXNtICgKLSIudGV4dCIgIlxuIiBcCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiXG4iCi1TWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0g
ICAgInB1c2ggJWVicFxuIgotICAgICJtb3YgJWVzcCwgJWVheFxuIgotICAgICJsZWFsIC00KCVl
c3ApLCAlZXNwXG4iCi0gICAgInB1c2ggJWVheFxuIgotICAgICJjYWxsICIgTE9DQUxfUkVGRVJF
TkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0gICAgImxlYWwg
OCglZXNwKSwgJWVzcFxuIgotICAgICJwb3AgJWVicFxuIgotICAgICJyZXRcbiIKLSk7Ci0KLSNl
bGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9USFVNQjIpCi1hc20gKAotIi50
ZXh0IiAiXG4iCi0iLmFsaWduIDIiICJcbiIKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFs
dWUpICJcbiIKLSIudGh1bWIiICJcbiIKLSIudGh1bWJfZnVuYyAiIFRIVU1CX0ZVTkNfUEFSQU0o
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiOiIgIlxuIgotICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgotICAgICJiICIg
TE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4i
Ci0pOwotCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShBUk1fVFJBRElUSU9O
QUwpCi1hc20gKAotIi50ZXh0IiAiXG4iCi0iLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiXG4iCi1JTkxJTkVfQVJNX0ZVTkNUSU9OKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCi1TWU1C
T0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgInN1YiByMCwg
c3AsICM4IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENQVShBUk02NCkKLWFzbSAoCi0i
LnRleHQiICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0
SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxu
IgotICAgICAic3ViIHgwLCBzcCwgIzE2IiAiXG4iCi0gICAgICJiICIgTE9DQUxfUkVGRVJFTkNF
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCi0pOwotCi0jZWxpZiBD
T01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShNSVBTKQotCi0jaWYgV1RGX01JUFNfUElDCi0j
ZGVmaW5lIExPQURfRlVOQ1RJT05fVE9fVDkoZnVuY3Rpb24pIFwKLSAgICAgICAgIi5zZXQgbm9y
ZW9yZGVyIiAiXG4iIFwKLSAgICAgICAgIi5jcGxvYWQgJDI1IiAiXG4iIFwKLSAgICAgICAgIi5z
ZXQgcmVvcmRlciIgIlxuIiBcCi0gICAgICAgICJsYSAkdDksICIgTE9DQUxfUkVGRVJFTkNFKGZ1
bmN0aW9uKSAiXG4iCi0jZWxzZQotI2RlZmluZSBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGZ1bmN0aW9u
KSAiIiAiXG4iCi0jZW5kaWYKLQotYXNtICgKLSIudGV4dCIgIlxuIgotIi5nbG9ibCAiIFNZTUJP
TF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0woZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZh
bHVlKSAiOiIgIlxuIgotICAgIExPQURfRlVOQ1RJT05fVE9fVDkoZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZVdpdGhFeGVjU3RhdGUpCi0gICAgImFkZGkgJGEwLCAkc3AsIC04IiAiXG4iCi0gICAgImIg
IiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJc
biIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODYpCi1leHRlcm4gIkMiIHsK
LSAgICBfX2RlY2xzcGVjKG5ha2VkKSBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZB
TFVFX09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkKLSAgICB7Ci0gICAgICAgIF9fYXNt
IGxlYSBlYXgsIFtlc3AgLSA0XQotICAgICAgICBfX2FzbSBtb3YgW2VzcCArIDRdLCBlYXg7Ci0g
ICAgICAgIF9fYXNtIGptcCBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZQotICAg
IH0KLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShK
SVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnNN
U1ZDNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zTVNWQzY0
LmNwcAppbmRleCA1NDRiY2EzOTQ2YzE5NDVlYzAwM2IyYzBkNTMxZTYwNzVlOTIzYzg0Li4wYTM3
YmY3NmMxZjI2ZTkzMGJiOGY2NmZmMWZmZTRlNThjODY2MjNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9uc01TVkM2NC5jcHAKQEAgLTI1LDcgKzI1LDcg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgIUVOQUJMRShKSVQpICYmIENPTVBJTEVS
KE1TVkMpICYmIENQVShYODZfNjQpCisjaWYgRU5BQkxFKENfTE9PUCkgJiYgQ09NUElMRVIoTVNW
QykgJiYgQ1BVKFg4Nl82NCkKIAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIkpT
Q0pTVmFsdWUuaCIKQEAgLTQzLDQgKzQzLDQgQEAgZXh0ZXJuICJDIiBFbmNvZGVkSlNWYWx1ZSBn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVjU3RhdGUqKQogCiB9IC8vIG5h
bWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKSAmJiBDT01QSUxFUihNU1ZDKSAm
JiBDUFUoWDg2XzY0KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApICYmIENPTVBJTEVSKE1TVkMp
ICYmIENQVShYODZfNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
Zy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5jcHAKaW5kZXggNGFhOTY1Mzc0
NzQxODRiMTEzNDAxYWUwY2NkOTQ4MWUyMjc1MTA0Yi4uM2NjNDljMDNkODY4ODlkNGM0Y2RhMGU3
ZTM3ZTJiOWFhMjQwMWJmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmNwcApAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZy5oIgogCi0jaWYgRU5B
QkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiRlBSSW5mby5oIgog
I2luY2x1ZGUgIkdQUkluZm8uaCIKQEAgLTU0LDUgKzU0LDUgQEAgdm9pZCBSZWc6OmR1bXAoUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBF
TkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlZy5oCmluZGV4IDg0YWUzNTkwNDc2OGNmYTFmZTBkMjdhYzVlZTU2MDY1M2Q3ODhiMDcuLjlk
MjQ2YWRlNWJjNzEwNTAwYjdmNzE3Mzk2ZDEyMTdiM2VkMjBmNWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWcuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgi
CiAKQEAgLTI0NSw0ICsyNDUsNCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPEpTQzo6
UmVnPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlJlZz4gewogCiB9IC8vIG5hbWVzcGFj
ZSBXVEYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxF
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNl
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuY3BwCmlu
ZGV4IDE2YTYzOWNhOGM3OTYyNjBlZjM1NzYwNTYxOTQ3NzU5ZTFlZTI1OGUuLjBlNDRlMmRiMTFl
ODA1ZDA0M2UzMGRjZjE0Mjg5NWVhMGM4YTVkNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZzZXQuaCIKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQxLDUg
KzQxLDUgQEAgdm9pZCBSZWdpc3RlckF0T2Zmc2V0OjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNv
bnN0CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRp
ZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVn
aXN0ZXJBdE9mZnNldC5oCmluZGV4IDBkYjhkYTRhNzI2MWI4YjhiNzAwYzEwM2ZiMzUyYjhlNWFl
MmIyZjMuLmNkNDE1YjZkNjY5ZjkzOWZmMWQzNWNmMzFjN2NkN2I0YTIwZTkyYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5oCkBAIC0yNSw3ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1C
TEVSKQogCiAjaW5jbHVkZSAiUmVnLmgiCiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CkBA
IC03NCw0ICs3NCw0IEBAIGNsYXNzIFJlZ2lzdGVyQXRPZmZzZXQgewogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxF
UikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNl
dExpc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlz
dC5jcHAKaW5kZXggZGQ1YjViMzJmMzdhZDBkZGJhM2M3M2JhNThhNTA3NmQzZTI5OTQ0OC4uNmZl
MDZlNzc2MmI0YTQ3OWRkMDUxNDY4NjBhYWU5YjRkZDFhM2ZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAKQEAgLTI2LDcgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZWdpc3RlckF0T2Zmc2V0TGlz
dC5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVk
ZSA8d3RmL0xpc3REdW1wLmg+CiAKQEAgLTY4LDUgKzY4LDUgQEAgdW5zaWduZWQgUmVnaXN0ZXJB
dE9mZnNldExpc3Q6OmluZGV4T2YoUmVnIHJlZykgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgSlND
CiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldExp
c3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuaApp
bmRleCBlMGIyNTQxYWI4ZGM5MjNmZjcxZWQ0ODg3NjQ1MDYwNzVjM2I5ZTNjLi41ZTNhM2NiMmNl
MDI5MzQxMTk1N2Y2ODk5MzM5ZDY3N2Y0YTlmNDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAj
aW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldC5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyU2V0LmgiCkBA
IC02OSw0ICs2OSw0IEBAIGNsYXNzIFJlZ2lzdGVyQXRPZmZzZXRMaXN0IHsKIAogfSAvLyBuYW1l
c3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NF
TUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyTWFw
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyTWFwLmgKaW5kZXggMGYzZjk1
NzRmMWY5NWU2ZTAyZjhiYTQ3MTQxMDNmOGRiMTgyZGQ1Yi4uNWE3Nzk3N2NhYTkxMmEwOTVlZGI2
OGM3MDI0NTRkOWFmMThiYTAyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3Rlck1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJN
YXAuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShKSVQp
CisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkZQUkluZm8uaCIKICNpbmNsdWRl
ICJHUFJJbmZvLmgiCkBAIC0xMDcsNCArMTA3LDQgQEAgY2xhc3MgRlBSTWFwIHsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShB
U1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVy
U2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCmluZGV4
IDg1MjU2ZjdiMTQ2MjU5OWFlYWVjNjdkOWUwNzg0MmRlNGM2MTVjMTguLmE2MDIxNDFhYTg2NjFk
ZGFiZTkwMWIyZjQyNDQ5Y2VkMzlmZWU1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnaXN0ZXJTZXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiUmVnaXN0ZXJTZXQuaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFT
U0VNQkxFUikKIAogI2luY2x1ZGUgIkdQUkluZm8uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CkBAIC0zOTUsNSArMzk1LDUgQEAgdm9pZCBSZWdpc3RlclNldDo6ZHVtcChQcmludFN0cmVhbSYg
b3V0KSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQp
CisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlclNldC5oCmluZGV4IGM4N2VhZjhjM2I1M2JjYzhmMzBjMWNhZTg5Nzg2MDNkNGRjMGRj
MjUuLmE2MTg4NTI5ZWRkMGNlNTFmZmVkMTFhNjIwYjM4YzA3ZTRlMDExOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVk
ZSAiR1BSSW5mby5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyLmgiCkBAIC0yNDYsNCArMjQ2
LDQgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6OlJlZ2lzdGVyU2V0PiA6IHB1
YmxpYyBDdXN0b21IYXNoVHJhaXRzPEpTQzo6UmUKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKLSNl
bmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwCmluZGV4IDljMmU3M2Q0MzJi
NmNhNmRiYWE1NmJiMDVlOGE5YjdmMjg0ODJmZDUuLjNmMzUyMWVhMjYxNTZhN2QwYzFiNGMyZmNj
NWJjMGJhZmYzNDA2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVt
cFJlZ2lzdGVyU2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdp
c3RlclNldC5jcHAKQEAgLTI2LDkgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJUZW1wUmVnaXN0ZXJTZXQuaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFT
U0VNQkxFUikKIAotI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJSZWdpc3RlclNl
dC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTUxLDQgKzUwLDQgQEAgVGVtcFJlZ2lzdGVyU2V0
OjpUZW1wUmVnaXN0ZXJTZXQoY29uc3QgUmVnaXN0ZXJTZXQmIG90aGVyKQogCiB9IC8vIG5hbWVz
cGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VN
QkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVy
U2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5oCmluZGV4
IDk5ODMyMjllZmFmYzQzZmU5MTcyNTZjODdkZGNlZTliMDgyNWZkZjUuLjY2MzgzZjU5Zjg4NTYy
YWJjYmIwZjk1NjlhNDE1MzAwM2Q4MWI3MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9UZW1wUmVnaXN0ZXJTZXQuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkZQUklu
Zm8uaCIKICNpbmNsdWRlICJHUFJJbmZvLmgiCkBAIC0yMDUsNyArMjA1LDcgQEAgY2xhc3MgVGVt
cFJlZ2lzdGVyU2V0IHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbHNlIC8vIEVOQUJMRShK
SVQpIC0+IHNvIGlmIEpJVCBpcyBkaXNhYmxlZAorI2Vsc2UgLy8gRU5BQkxFKEFTU0VNQkxFUikg
LT4gc28gaWYgSklUIGlzIGRpc2FibGVkCiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0yMTYsNCAr
MjE2LDQgQEAgc3RydWN0IFRlbXBSZWdpc3RlclNldCB7IH07CiAKIH0gLy8gbmFtZXNwYWNlIEpT
QwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwCmluZGV4IGUzYzZjNmNl
OTdlNWZkYTcwODk4OWI3ODFlZDM3NjI1ZjA5N2JjYzkuLmM4NGIxODljZjJjZGY4ZDRkNTIxMDEy
ZjExNDZiOTk4OGY0ZWZkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludENMb29wLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRD
TG9vcC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJMTEludENMb29wLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQog
CiAjaW5jbHVkZSAiTExJbnREYXRhLmgiCiAKQEAgLTQxLDQgKzQxLDQgQEAgdm9pZCBDTG9vcDo6
aW5pdGlhbGl6ZSgpCiB9IC8vIG5hbWVzcGFjZSBMTEludAogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
LSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQ19MT09QKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludENMb29wLmgKaW5kZXggYTMxNTkxNDU1MWZiMGQ4Y2M2
MTJiZWNkZGM0OGY5ZmNjYWNjMDVlMi4uMDJiMmYyNGRjYjAxYzdlZjlkZGM1MDE2ODQ1NGZjZThl
OTI4YWU2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xv
b3AuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRDTG9vcC5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKICNpbmNsdWRlICJPcGNvZGUu
aCIKQEAgLTQ0LDQgKzQ0LDQgQEAgY2xhc3MgQ0xvb3AgewogCiB1c2luZyBKU0M6OkxMSW50OjpD
TG9vcDsKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1Ap
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCmluZGV4IDQxZjY0YjRh
ZmEzMWU4MTljZjU0YjlmYmNkODA4M2Y1YTMxMzZlNmYuLjBkZDA0NTQzMzQ3OTc3YzU2NzNiZmVl
YmRlMzhiOGM1MjFkMjdkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludERhdGEuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERh
dGEuY3BwCkBAIC00NiwxNiArNDYsMTYgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTElu
dCB7CiBJbnN0cnVjdGlvbiBEYXRhOjpzX2V4Y2VwdGlvbkluc3RydWN0aW9uc1ttYXhPcGNvZGVM
ZW5ndGggKyAxXSA9IHsgfTsKIE9wY29kZSBEYXRhOjpzX29wY29kZU1hcFtudW1PcGNvZGVJRHNd
ID0geyB9OwogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIGV4dGVybiAi
QyIgdm9pZCBsbGludF9lbnRyeSh2b2lkKik7CiAjZW5kaWYKIAogdm9pZCBpbml0aWFsaXplKCkK
IHsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIENMb29wOjppbml0
aWFsaXplKCk7CiAKLSNlbHNlIC8vIEVOQUJMRShKSVQpCisjZWxzZSAvLyAhRU5BQkxFKENfTE9P
UCkKICAgICBsbGludF9lbnRyeSgmRGF0YTo6c19vcGNvZGVNYXApOwogCiAgICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBudW1PcGNvZGVJRHM7ICsraSkKQEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBpbml0
aWFsaXplKCkKICAgICB2b2lkKiBoYW5kbGVyID0gRGF0YTo6c19vcGNvZGVNYXBbbGxpbnRfdGhy
b3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZV07CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBt
YXhPcGNvZGVMZW5ndGggKyAxOyArK2kpCiAgICAgICAgIERhdGE6OnNfZXhjZXB0aW9uSW5zdHJ1
Y3Rpb25zW2ldLnUucG9pbnRlciA9IGhhbmRsZXI7Ci0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNl
bmRpZiAvLyBFTkFCTEUoQ19MT09QKQogfQogCiBJR05PUkVfQ0xBTkdfV0FSTklOR1NfQkVHSU4o
Im1pc3Npbmctbm9yZXR1cm4iKQpAQCAtMTI1LDcgKzEyNSw3IEBAIHZvaWQgRGF0YTo6cGVyZm9y
bUFzc2VydGlvbnMoVk0mIHZtKQogICAgIFNUQVRJQ19BU1NFUlQoVmFsdWVVbmRlZmluZWQgPT0g
KFRhZ0JpdFR5cGVPdGhlciB8IFRhZ0JpdFVuZGVmaW5lZCkpOwogICAgIFNUQVRJQ19BU1NFUlQo
VmFsdWVOdWxsID09IFRhZ0JpdFR5cGVPdGhlcik7CiAjZW5kaWYKLSNpZiAoQ1BVKFg4Nl82NCkg
JiYgIU9TKFdJTkRPV1MpKSB8fCBDUFUoQVJNNjQpIHx8ICFFTkFCTEUoSklUKQorI2lmIChDUFUo
WDg2XzY0KSAmJiAhT1MoV0lORE9XUykpIHx8IENQVShBUk02NCkgfHwgIUVOQUJMRShBU1NFTUJM
RVIpCiAgICAgU1RBVElDX0FTU0VSVCghbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwpOwog
I2VsaWYgQ1BVKEFSTSkKICAgICBTVEFUSUNfQVNTRVJUKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsID09IDI0KTsKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lkIERhdGE6OnBlcmZvcm1Bc3Nl
cnRpb25zKFZNJiB2bSkKICAgICBTVEFUSUNfQVNTRVJUKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsID09IDY0KTsKICNlbmRpZgogCi0jaWYgIUVOQUJMRShKSVQpIHx8IFVTRShKU1ZBTFVF
MzJfNjQpCisjaWYgRU5BQkxFKENfTE9PUCkgfHwgVVNFKEpTVkFMVUUzMl82NCkKICAgICBBU1NF
UlQoIUNvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lz
dGVycygpKTsKICNlbGlmIChDUFUoWDg2XzY0KSAmJiAhT1MoV0lORE9XUykpICB8fCBDUFUoQVJN
NjQpCiAgICAgQVNTRVJUKENvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVTcGFjZUFz
VmlydHVhbFJlZ2lzdGVycygpID09IDMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50RGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
RGF0YS5oCmluZGV4IGJlNThjMDBhZTVjNjZhYzMwNTgxYWUzZDQ4NDk0MjhlNWJiMzAxZDAuLjlj
YTU3MTUyN2MwY2IyNDI0MGU3YjY3NjlkN2JjN2M5NGQ5MDc1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnREYXRhLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiBjbGFzcyBWTTsKIHN0cnVjdCBJbnN0cnVjdGlvbjsKIAotI2lmICFFTkFCTEUoSklUKQorI2lm
IEVOQUJMRShDX0xPT1ApCiB0eXBlZGVmIE9wY29kZUlEIExMSW50Q29kZTsKICNlbHNlCiB0eXBl
ZGVmIHZvaWQgKCpMTEludENvZGUpKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgKaW5kZXggYTY0MzdkNDAzYTQwYTk5MWY5NTU4
ZTZlM2Y0MDc5M2M3ZGVjNzkyMy4uYmE2ZDUxNmQ1ZjNmODFhMDczN2I5NjIyNjllYzM2YjA3Mjlm
YzJjZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGlu
ZUFzbUNvbmZpZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxp
bmVBc21Db25maWcuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgPHd0Zi9HaWdhY2FnZS5o
PgogI2luY2x1ZGUgPHd0Zi9Qb2lzb25lZC5oPgogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKICNkZWZpbmUgT0ZGTElORV9BU01fQ19MT09QIDEKICNkZWZpbmUgT0ZGTElO
RV9BU01fWDg2IDAKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2X1dJTiAwCkBAIC00NSw3ICs0NSw3
IEBACiAjZGVmaW5lIE9GRkxJTkVfQVNNX0FSTXY3cyAwCiAjZGVmaW5lIE9GRkxJTkVfQVNNX01J
UFMgMAogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2Vsc2UgLy8gRU5BQkxFKENfTE9PUCkKIAog
I2RlZmluZSBPRkZMSU5FX0FTTV9DX0xPT1AgMAogCkBAIC0xMzcsNyArMTM3LDcgQEAKICNlbmRp
ZgogI2VuZGlmCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xP
T1ApCiAKICNpZiBVU0UoSlNWQUxVRTY0KQogI2RlZmluZSBPRkZMSU5FX0FTTV9KU1ZBTFVFNjQg
MQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T3Bjb2RlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPcGNvZGUuaAppbmRleCA4NTkwNWUz
NzA0MzgyMzc4M2JkZjdiZmVjMTQ1NjdkMTQxMTVjMTg1Li44NGE5ZmMyMTUwOTcxZGNiYjNhYzBj
YjE2MWRmNmYzYjM4M2I2YzIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRPcGNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRP
cGNvZGUuaApAQCAtMjUsMTcgKzI1LDE3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgIUVOQUJM
RShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2RlZmluZSBGT1JfRUFDSF9MTElOVF9OT0pJ
VF9OQVRJVkVfSEVMUEVSKG1hY3JvKSBcCiAgICAgRk9SX0VBQ0hfQ0xPT1BfQllURUNPREVfSEVM
UEVSX0lEKG1hY3JvKQogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2Vsc2UgLy8gIUVOQUJMRShD
X0xPT1ApCiAKICNkZWZpbmUgRk9SX0VBQ0hfTExJTlRfTk9KSVRfTkFUSVZFX0hFTFBFUihtYWNy
bykgXAotICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVXNlIHRoZSBKSVQgaW1wbCBpbnN0ZWFk
LgorICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVXNlIHRoZSBMTEludCBBU00gLyBKSVQgaW1w
bCBpbnN0ZWFkLgogCi0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKENf
TE9PUCkKIAogCiAjZGVmaW5lIEZPUl9FQUNIX0xMSU5UX05BVElWRV9IRUxQRVIobWFjcm8pIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFBDUmFuZ2VzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRQQ1Jhbmdlcy5oCmluZGV4IDk0MjE4
NWU4MjQ0NmU5YzI3YzhmNWZmMTQzZWVhNjA4NTUxOWFhNjMuLjgyYmRjNTU5YjhhYjM4ZjdlODUy
OTYyZjcyOWI5ZDlkOWNlNzM3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFBDUmFuZ2VzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50UENSYW5nZXMuaApAQCAtNDYsNyArNDYsNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgaXNMTElu
dFBDKHZvaWQqIHBjKQogICAgIHJldHVybiBsbGludFN0YXJ0IDw9IHBjQXNJbnQgJiYgcGNBc0lu
dCA8PSBsbGludEVuZDsKIH0KIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1Ap
CiBzdGF0aWMgY29uc3QgR1BSUmVnIExMSW50UEMgPSBHUFJJbmZvOjpyZWdUNDsKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRl
eCAzYzVmOWEyOTQyYjMwMDNmZTQyMTM4ZjdlNGRkYzNlYTBkZWViN2M0Li5jMWMyYzY3NDZhZTNh
NTU3ZmNhM2U0ZGQ3ZjlkYTRkZTdhMjM5M2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTUzNiw3ICs1MzYsNyBAQCBMTElOVF9TTE9X
X1BBVEhfREVDTChzdGFja19jaGVjaykKICAgICAgICAgc2xvd1BhdGhMb2dGKCJOdW0gdmFycyA9
ICV1LlxuIiwgY29kZUJsb2NrLT5udW1WYXJzKCkpOwogICAgIH0KICAgICBzbG93UGF0aExvZ0Yo
IkN1cnJlbnQgT1Mgc3RhY2sgZW5kIGlzIGF0ICVwLlxuIiwgdm0uc29mdFN0YWNrTGltaXQoKSk7
Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICBzbG93UGF0aExvZ0Yo
IkN1cnJlbnQgQyBMb29wIHN0YWNrIGVuZCBpcyBhdCAlcC5cbiIsIHZtLmNsb29wU3RhY2tMaW1p
dCgpKTsKICNlbmRpZgogCkBAIC01NDcsNyArNTQ3LDcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0wo
c3RhY2tfY2hlY2spCiAgICAgLy8gRm9yIEpJVCBlbmFibGVkIGJ1aWxkcyB3aGljaCB1c2VzIHRo
ZSBDIHN0YWNrLCB0aGUgc3RhY2sgaXMgbm90IGdyb3dhYmxlLgogICAgIC8vIEhlbmNlLCBpZiB3
ZSBnZXQgaGVyZSwgdGhlbiB3ZSBrbm93IGEgc3RhY2sgb3ZlcmZsb3cgaXMgaW1taW5lbnQuIFNv
LCBqdXN0CiAgICAgLy8gdGhyb3cgdGhlIFN0YWNrT3ZlcmZsb3dFcnJvciB1bmNvbmRpdGlvbmFs
bHkuCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICBSZWdpc3Rlciog
dG9wT2ZGcmFtZSA9IGV4ZWMtPnRvcE9mRnJhbWUoKTsKICAgICBpZiAoTElLRUxZKHRvcE9mRnJh
bWUgPCByZWludGVycHJldF9jYXN0PFJlZ2lzdGVyKj4oZXhlYykpKSB7CiAgICAgICAgIEFTU0VS
VCghdm0uaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5jb250YWluc0FkZHJlc3ModG9wT2ZGcmFt
ZSkpOwpAQCAtMTg2MSw3ICsxODYxLDcgQEAgZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUg
bGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3dfZXJyb3IoVk0qIHZtLCBQcm90b0NhbGwKICAgICBy
ZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogfQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2No
ZWNrX2F0X3ZtX2VudHJ5KFZNKiB2bSwgUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7CiAgICAg
Ym9vbCBzdWNjZXNzID0gdm0tPmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3IobmV3VG9wT2ZTdGFjayk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IDdj
ZmVjYTdhODE2ZDFkYzUzMGEzNDdlODZmYjlkNWZkMzYwYmNiODAuLjlmZTFhYzViOWQwMzllZDdj
M2E0ZmIwNzQ5ZTk2NDVhZGFkMjRhMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5oCkBAIC0xMzIsNyArMTMyLDcgQEAgTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5fdGFpbCk7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N1cGVyX3NhbXBsZXJfYmVnaW4pOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zdXBlcl9zYW1wbGVyX2VuZCk7CiBleHRl
cm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19zdGFja19vdmVyZmxvd19lcnJv
cihWTSosIFByb3RvQ2FsbEZyYW1lKikgV1RGX0lOVEVSTkFMOwotI2lmICFFTkFCTEUoSklUKQor
I2lmIEVOQUJMRShDX0xPT1ApCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF9z
dGFja19jaGVja19hdF92bV9lbnRyeShWTSosIFJlZ2lzdGVyKikgV1RGX0lOVEVSTkFMOwogI2Vu
ZGlmCiBleHRlcm4gIkMiIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0ggdm9pZCBsbGludF9jcmFzaCgp
IFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFRodW5rcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3Mu
Y3BwCmluZGV4IDI0NDZiZGJmZTc2Y2Y5NjI5NDAyNWRjNjU3NTdkYTBlNDk5MzBlOGEuLjVjMTk0
Y2Y1NGQyZWYzMDIwZTIxMzMwMjg5ZDlmZjVjMDk4NjE3MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcApAQCAtOTgsOCArOTgsOSBAQCBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG1vZHVsZVByb2dyYW1FbnRyeVRodW5rR2VuZXJh
dG9yKFZNKiB2bSkKIAogfSAvLyBuYW1lc3BhY2UgTExJbnQKIAotI2Vsc2UgLy8gRU5BQkxFKEpJ
VCkKKyNlbmRpZgogCisjaWYgRU5BQkxFKENfTE9PUCkKIC8vIE5vbi1KSVQgKGkuZS4gQyBMb29w
IExMSU5UKSBjYXNlOgogCiBFbmNvZGVkSlNWYWx1ZSB2bUVudHJ5VG9KYXZhU2NyaXB0KHZvaWQq
IGV4ZWN1dGFibGVBZGRyZXNzLCBWTSogdm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90b0NhbGxGcmFt
ZSkKQEAgLTEyMiw3ICsxMjMsNiBAQCBleHRlcm4gIkMiIFZNRW50cnlSZWNvcmQqIHZtRW50cnlS
ZWNvcmQoRW50cnlGcmFtZSogZW50cnlGcmFtZSkKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDxWTUVudHJ5UmVjb3JkKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oZW50cnlGcmFtZSkgLSBW
TUVudHJ5VG90YWxGcmFtZVNpemUpOwogfQogCi0KLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDc4
YmZmMDg4NGM0ODAyOTM5YTRkZTg2MGY3NmI1ODJlYWE5YTQyNjUuLjQ3YmVhMmRmNTVlNjVkNGNj
Y2Y3ZjBkN2U1NjA5MDMxNTBiOTVjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNs
dWRlICJMTEludE9mZmxpbmVBc21Db25maWcuaCIKICNpbmNsdWRlIDx3dGYvSW5saW5lQVNNLmg+
CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogI2luY2x1ZGUgIkJ5dGVj
b2Rlcy5oIgogI2luY2x1ZGUgIkNMb29wU3RhY2tJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQ29kZUJs
b2NrLmgiCkBAIC01NTksNCArNTU5LDQgQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShPcGNvZGVJ
RCBlbnRyeU9wY29kZUlELCB2b2lkKiBleGVjdXRhYmxlQWRkcmVzcywgVk0qIHZtLAogLy8gZm9y
IHRoZSBpbnRlcnByZXRlciwgYXMgY29tcGlsZWQgZnJvbSBMb3dMZXZlbEludGVycHJldGVyLmFz
bS4KICNpbmNsdWRlICJMTEludEFzc2VtYmx5LmgiCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQor
I2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaAppbmRleCA4MzAwOGUxMjI1YmY1M2RjZmNmZmRkYTAz
ODVkNmY3NmFlOTYyNzMwLi5lNGM5MDc0M2FjZjM5NDkwYTgzNTE3NzQxYjNlYzk1Y2Y5ZDM2YjA4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIk9wY29kZS5oIgogCi0jaWYgIUVO
QUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQ0
LDQgKzQ0LDQgQEAgRk9SX0VBQ0hfQ09SRV9PUENPREVfSUQoTExJTlRfT1BDT0RFX0FMSUFTKQog
CiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8v
IEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0NKU1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVl
LmgKaW5kZXggNTQ0MjI3NzY5OWJlZjI1NmM0YmE2MjM0NmM5YWZiMzA1Zjg1ZWQzOC4uZjdlNjU3
NTVlZDgxOGQ1YmY2ZGY2ZTFjYzE5MmEyOGZjYTM3YTkzMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaApAQCAtNTksNyArNTksNyBAQCBjbGFzcyBPU1JFeGl0
Q29tcGlsZXI7CiBjbGFzcyBTcGVjdWxhdGl2ZUpJVDsKIH0KICNlbmRpZgotI2lmICFFTkFCTEUo
SklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBuYW1lc3BhY2UgTExJbnQgewogY2xhc3MgQ0xvb3A7
CiB9CkBAIC0xNDcsNyArMTQ3LDcgQEAgY2xhc3MgSlNWYWx1ZSB7CiAgICAgZnJpZW5kIGNsYXNz
IERGRzo6T1NSRXhpdENvbXBpbGVyOwogICAgIGZyaWVuZCBjbGFzcyBERkc6OlNwZWN1bGF0aXZl
SklUOwogI2VuZGlmCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICBm
cmllbmQgY2xhc3MgTExJbnQ6OkNMb29wOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCmluZGV4IDgzNmQ3NTU2ODhiMTcyZmMxMmY4
Yzc5NDgyYjBhNjA1ODUzMDVjNzkuLjQ2ZjE1NTQ1MWQwNjUxYjhiMWZjY2JkMjVmNjJkYjkxMDI5
ZmU5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVD
b250ZXh0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRl
eHQuaApAQCAtNTAsMTAgKzUwLDEwIEBAIGlubGluZSB2b2lkIHNldEluc3RydWN0aW9uUG9pbnRl
cihQbGF0Zm9ybVJlZ2lzdGVycyYsIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxDRnVuCiAKIHRlbXBs
YXRlPHNpemVfdCBOPiB2b2lkKiYgYXJndW1lbnRQb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJik7
CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQb2ludGVyKGNvbnN0IFBsYXRmb3Jt
UmVnaXN0ZXJzJik7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIHZvaWQq
JiBsbGludEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm9ybVJlZ2lzdGVycyYpOwogdm9pZCogbGxp
bnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdpc3RlcnMmKTsKLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQogCiAjaWYgSEFWRShNQUNI
SU5FX0NPTlRFWFQpCiAKQEAgLTcyLDEwICs3MiwxMCBAQCBpbmxpbmUgdm9pZCBzZXRJbnN0cnVj
dGlvblBvaW50ZXIobWNvbnRleHRfdCYsIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjxDRnVuY3Rpb25Q
dAogCiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZComIGFyZ3VtZW50UG9pbnRlcihtY29udGV4dF90
Jik7CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQb2ludGVyKGNvbnN0IG1jb250
ZXh0X3QmKTsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogdm9pZComIGxs
aW50SW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZXh0X3QmKTsKIHZvaWQqIGxsaW50SW5zdHJ1Y3Rp
b25Qb2ludGVyKGNvbnN0IG1jb250ZXh0X3QmKTsKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vICFFTkFCTEUoQ19MT09QKQogI2VuZGlmIC8vIEhBVkUoTUFDSElORV9DT05URVhUKQog
I2VuZGlmIC8vIE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9DT05URVhUKQogCkBAIC02Njgs
NyArNjY4LDcgQEAgaW5saW5lIHZvaWQqIGFyZ3VtZW50UG9pbnRlcihjb25zdCBtY29udGV4dF90
JiBtYWNoaW5lQ29udGV4dCkKIH0KICNlbmRpZiAvLyBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKIAot
I2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAjaWYgT1MoV0lORE9XUykgfHwg
SEFWRShNQUNISU5FX0NPTlRFWFQpCiBpbmxpbmUgdm9pZComIGxsaW50SW5zdHJ1Y3Rpb25Qb2lu
dGVyKFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdzKQogewpAQCAtNzgzLDcgKzc4Myw3IEBAIGlubGlu
ZSB2b2lkKiBsbGludEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBtY29udGV4dF90JiBtYWNoaW5l
Q29udGV4dCkKICAgICByZXR1cm4gbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3RfY2FzdDxt
Y29udGV4dF90Jj4obWFjaGluZUNvbnRleHQpKTsKIH0KICNlbmRpZiAvLyBIQVZFKE1BQ0hJTkVf
Q09OVEVYVCkKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09Q
KQogCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1w
bGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuY3BwCmluZGV4IGI2OTM1ZTRjNzU1NGRhMWFmMjBkNDRhYjYyOTkyZjVhMzg5MWJj
YmQuLmE5OTU1NGQxZjNkYTYwYjVmYmM4OTM3Y2I5NzdlZmUyMThmZWViOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCkBAIC02
MDEsMTAgKzYwMSwxNSBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnByb2Nlc3NVbnZlcmlmaWVk
U3RhY2tUcmFjZXMoKQogICAgICAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0RnJh
bWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2FsbGVlKTsKICAg
ICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7CiAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSBlbHNlIGlmIChzdGQ6Om9wdGlvbmFsPENvZGVPcmlnaW4+IGNvZGVPcmlnaW4g
PSB0b3BDb2RlQmxvY2stPmZpbmRQQyh1bnByb2Nlc3NlZFN0YWNrVHJhY2UudG9wUEMpKSB7Ci0g
ICAgICAgICAgICAgICAgYXBwZW5kQ29kZU9yaWdpbih0b3BDb2RlQmxvY2ssICpjb2RlT3JpZ2lu
KTsKLSAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0RnJhbWUodW5wcm9jZXNzZWRT
dGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2FsbGVlKTsKLSAgICAgICAgICAgICAgICBz
dGFydEluZGV4ID0gMTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisjaWYgRU5BQkxFKEpJVCkKKyAg
ICAgICAgICAgICAgICBpZiAoc3RkOjpvcHRpb25hbDxDb2RlT3JpZ2luPiBjb2RlT3JpZ2luID0g
dG9wQ29kZUJsb2NrLT5maW5kUEModW5wcm9jZXNzZWRTdGFja1RyYWNlLnRvcFBDKSkgeworICAg
ICAgICAgICAgICAgICAgICBhcHBlbmRDb2RlT3JpZ2luKHRvcENvZGVCbG9jaywgKmNvZGVPcmln
aW4pOworICAgICAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0RnJhbWUodW5wcm9j
ZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2FsbGVlKTsKKyAgICAgICAgICAg
ICAgICAgICAgc3RhcnRJbmRleCA9IDE7CisgICAgICAgICAgICAgICAgfQorI2VuZGlmCisgICAg
ICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGFwcGVuZENvZGVPcmlnaW4pOwogICAgICAgICAgICAg
fQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1Rlc3RSdW5uZXJVdGlscy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9UZXN0
UnVubmVyVXRpbHMuY3BwCmluZGV4IDAxZWM4NmExNGRmOWE5NjJmMzI2NzVlNmZkMDg3MzAwZDgw
ZTJiYzcuLjM0ZWVjYTc0YzcyNDdlYjVlMjQ2ZWQ3MTdkZWExN2YxMTM2ZjgyY2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Rlc3RSdW5uZXJVdGlscy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVzdFJ1bm5lclV0aWxzLmNwcApAQCAt
MTAyLDEwICsxMDIsOCBAQCBKU1ZhbHVlIG9wdGltaXplTmV4dEludm9jYXRpb24oSlNWYWx1ZSB0
aGVGdW5jdGlvblZhbHVlKQogI2lmIEVOQUJMRShKSVQpCiAgICAgaWYgKENvZGVCbG9jayogYmFz
ZWxpbmVDb2RlQmxvY2sgPSBnZXRTb21lQmFzZWxpbmVDb2RlQmxvY2tGb3JGdW5jdGlvbih0aGVG
dW5jdGlvblZhbHVlKSkKICAgICAgICAgYmFzZWxpbmVDb2RlQmxvY2stPm9wdGltaXplTmV4dElu
dm9jYXRpb24oKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHRoZUZ1bmN0aW9uVmFsdWUpOwog
I2VuZGlmCi0KKyAgICBVTlVTRURfUEFSQU0odGhlRnVuY3Rpb25WYWx1ZSk7CiAgICAgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRl
eCA4ZTA5MmJjNWE4YTc4YmU4NjA5YjQ5ZDZjYzZmY2VkMTg1YTg0NTE5Li40N2U2MWI4M2EzOTcz
MDU3NzRhNmYyM2RjNDNlMzBkYmQ3MDZjZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Vk0uY3BwCkBAIC0xNTksNyArMTU5LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmdUYWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJlZ2lzdHJ5Lmg+CiAKLSNpZiAh
RU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogI2luY2x1ZGUgIkNMb29wU3RhY2suaCIK
ICNpbmNsdWRlICJDTG9vcFN0YWNrSW5saW5lcy5oIgogI2VuZGlmCkBAIC00NjEsNyArNDYxLDcg
QEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogICAgIGZ0bFRodW5r
cyA9IHN0ZDo6bWFrZV91bmlxdWU8RlRMOjpUaHVua3M+KCk7CiAjZW5kaWYgLy8gRU5BQkxFKEZU
TF9KSVQpCiAgICAgCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBp
bml0aWFsaXplSG9zdENhbGxSZXR1cm5WYWx1ZSgpOyAvLyBUaGlzIGlzIG5lZWRlZCB0byBjb252
aW5jZSB0aGUgbGlua2VyIG5vdCB0byBkcm9wIGhvc3QgY2FsbCByZXR1cm4gc3VwcG9ydC4KICNl
bmRpZgogICAgIApAQCAtNzQxLDkgKzc0MSw4IEBAIE5hdGl2ZUV4ZWN1dGFibGUqIFZNOjpnZXRI
b3N0RnVuY3Rpb24oTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIEludHJpbnNpYyBpbnRyaW5zCiAg
ICAgICAgICAgICBpbnRyaW5zaWMgIT0gTm9JbnRyaW5zaWMgPyB0aHVua0dlbmVyYXRvckZvcklu
dHJpbnNpYyhpbnRyaW5zaWMpIDogMCwKICAgICAgICAgICAgIGludHJpbnNpYywgc2lnbmF0dXJl
LCBuYW1lKTsKICAgICB9Ci0jZWxzZSAvLyBFTkFCTEUoSklUKQotICAgIFVOVVNFRF9QQVJBTShp
bnRyaW5zaWMpOwogI2VuZGlmIC8vIEVOQUJMRShKSVQpCisgICAgVU5VU0VEX1BBUkFNKGludHJp
bnNpYyk7CiAgICAgcmV0dXJuIE5hdGl2ZUV4ZWN1dGFibGU6OmNyZWF0ZSgqdGhpcywKICAgICAg
ICAgYWRvcHRSZWYoKm5ldyBOYXRpdmVKSVRDb2RlKExMSW50OjpnZXRDb2RlUmVmPEpTRW50cnlQ
dHJUYWc+KGxsaW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpLCBKSVRDb2RlOjpIb3N0Q2FsbFRo
dW5rKSksIGZ1bmN0aW9uLAogICAgICAgICBhZG9wdFJlZigqbmV3IE5hdGl2ZUpJVENvZGUoTExJ
bnQ6OmdldENvZGVSZWY8SlNFbnRyeVB0clRhZz4obGxpbnRfbmF0aXZlX2NvbnN0cnVjdF90cmFt
cG9saW5lKSwgSklUQ29kZTo6SG9zdENhbGxUaHVuaykpLCBjb25zdHJ1Y3RvciwKQEAgLTg3Niw3
ICs4NzUsNyBAQCBzaXplX3QgVk06OnVwZGF0ZVNvZnRSZXNlcnZlZFpvbmVTaXplKHNpemVfdCBz
b2Z0UmVzZXJ2ZWRab25lU2l6ZSkKIHsKICAgICBzaXplX3Qgb2xkU29mdFJlc2VydmVkWm9uZVNp
emUgPSBtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKICAgICBtX2N1cnJlbnRTb2Z0UmVz
ZXJ2ZWRab25lU2l6ZSA9IHNvZnRSZXNlcnZlZFpvbmVTaXplOwotI2lmICFFTkFCTEUoSklUKQor
I2lmIEVOQUJMRShDX0xPT1ApCiAgICAgaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5zZXRTb2Z0
UmVzZXJ2ZWRab25lU2l6ZShzb2Z0UmVzZXJ2ZWRab25lU2l6ZSk7CiAjZW5kaWYKIApAQCAtMTE0
NSw3ICsxMTQ0LDcgQEAgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk0oVk0qIHZtKQogICAgICAgICBB
U1NFUlQodm0tPmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2NrKCkpOwogICAgICAgICBBU1NF
UlRfVU5VU0VEKHN0YWNrQm91bmRzLCBzdGFja0JvdW5kcy5jb250YWlucyh2bS0+bGFzdFN0YWNr
VG9wKCkpKTsKICAgICB9Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAg
ICB2bS0+aW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5zYW5pdGl6ZVN0YWNrKCk7CiAjZWxzZQog
ICAgIHNhbml0aXplU3RhY2tGb3JWTUltcGwodm0pOwpAQCAtMTE1NCw3ICsxMTUzLDcgQEAgdm9p
ZCBzYW5pdGl6ZVN0YWNrRm9yVk0oVk0qIHZtKQogCiBzaXplX3QgVk06OmNvbW1pdHRlZFN0YWNr
Qnl0ZUNvdW50KCkKIHsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUoQ19MT09QKQogICAg
IC8vIFdoZW4gdXNpbmcgdGhlIEMgc3RhY2ssIHdlIGRvbid0IGtub3cgaG93IG1hbnkgc3RhY2sg
cGFnZXMgYXJlIGFjdHVhbGx5CiAgICAgLy8gY29tbWl0dGVkLiBTbywgd2UgdXNlIHRoZSBjdXJy
ZW50IHN0YWNrIHVzYWdlIGFzIGFuIGVzdGltYXRlLgogICAgIEFTU0VSVChUaHJlYWQ6OmN1cnJl
bnQoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253YXJkKCkpOwpAQCAtMTE2Niw3ICsxMTY1LDcgQEAg
c2l6ZV90IFZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCgpCiAjZW5kaWYKIH0KIAotI2lmICFF
TkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBib29sIFZNOjplbnN1cmVTdGFja0NhcGFj
aXR5Rm9yQ0xvb3AoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7CiAgICAgcmV0dXJuIGludGVy
cHJldGVyLT5jbG9vcFN0YWNrKCkuZW5zdXJlQ2FwYWNpdHlGb3IobmV3VG9wT2ZTdGFjayk7CkBA
IC0xMTc2LDcgKzExNzUsNyBAQCBib29sIFZNOjppc1NhZmVUb1JlY3Vyc2VTb2Z0Q0xvb3AoKSBj
b25zdAogewogICAgIHJldHVybiBpbnRlcnByZXRlci0+Y2xvb3BTdGFjaygpLmlzU2FmZVRvUmVj
dXJzZSgpOwogfQotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xP
T1ApCiAKICNpZiBFTkFCTEUoRVhDRVBUSU9OX1NDT1BFX1ZFUklGSUNBVElPTikKIHZvaWQgVk06
OnZlcmlmeUV4Y2VwdGlvbkNoZWNrTmVlZElzU2F0aXNmaWVkKHVuc2lnbmVkIHJlY3Vyc2lvbkRl
cHRoLCBFeGNlcHRpb25FdmVudExvY2F0aW9uJiBsb2NhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9WTS5oCmluZGV4IDQwZGE1ZDM2ODkyNTM4YjJiMmJiNGQxNjc2MTJlNTdkNTE1YWNkNjMu
LmY5N2FmMzVhMTQ5ZDM1OWIyZTQ2MGJmN2QxYTFiOTk3MTc3MjhlOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaApAQCAtNzE2LDcgKzcxNiw3IEBAIGNsYXNzIFZNIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxpbmtlZExpc3ROb2RlPFZNPiB7
CiAgICAgdm9pZCogc3RhY2tMaW1pdCgpIHsgcmV0dXJuIG1fc3RhY2tMaW1pdDsgfQogICAgIHZv
aWQqIHNvZnRTdGFja0xpbWl0KCkgeyByZXR1cm4gbV9zb2Z0U3RhY2tMaW1pdDsgfQogICAgIHZv
aWQqKiBhZGRyZXNzT2ZTb2Z0U3RhY2tMaW1pdCgpIHsgcmV0dXJuICZtX3NvZnRTdGFja0xpbWl0
OyB9Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICB2b2lkKiBjbG9v
cFN0YWNrTGltaXQoKSB7IHJldHVybiBtX2Nsb29wU3RhY2tMaW1pdDsgfQogICAgIHZvaWQgc2V0
Q0xvb3BTdGFja0xpbWl0KHZvaWQqIGxpbWl0KSB7IG1fY2xvb3BTdGFja0xpbWl0ID0gbGltaXQ7
IH0KICNlbmRpZgpAQCAtOTI5LDEwICs5MjksMTAgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAg
ICAgICAgbV9leGNlcHRpb24gPSBudWxscHRyOwogICAgIH0KIAotI2lmICFFTkFCTEUoSklUKSAg
ICAKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIGJvb2wgZW5zdXJlU3RhY2tDYXBhY2l0eUZvckNM
b29wKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKTsKICAgICBib29sIGlzU2FmZVRvUmVjdXJzZVNv
ZnRDTG9vcCgpIGNvbnN0OwotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJM
RShDX0xPT1ApCiAKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHRocm93RXhjZXB0aW9uKEV4
ZWNTdGF0ZSosIEV4Y2VwdGlvbiopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTVmFsdWUgdGhy
b3dFeGNlcHRpb24oRXhlY1N0YXRlKiwgSlNWYWx1ZSk7CkBAIC05NTMsNyArOTUzLDcgQEAgY2xh
c3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlu
a2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzaXplX3QgbV9jdXJyZW50U29mdFJlc2VydmVkWm9uZVNp
emU7CiAgICAgdm9pZCogbV9zdGFja0xpbWl0IHsgbnVsbHB0ciB9OwogICAgIHZvaWQqIG1fc29m
dFN0YWNrTGltaXQgeyBudWxscHRyIH07Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENf
TE9PUCkKICAgICB2b2lkKiBtX2Nsb29wU3RhY2tMaW1pdCB7IG51bGxwdHIgfTsKICNlbmRpZgog
ICAgIHZvaWQqIG1fbGFzdFN0YWNrVG9wIHsgbnVsbHB0ciB9OwpAQCAtMTAzNSw3ICsxMDM1LDcg
QEAgaW5saW5lIEhlYXAqIFdlYWtTZXQ6OmhlYXAoKSBjb25zdAogICAgIHJldHVybiAmbV92bS0+
aGVhcDsKIH0KIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiBleHRlcm4g
IkMiIHZvaWQgc2FuaXRpemVTdGFja0ZvclZNSW1wbChWTSopOwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNSW5saW5lcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKaW5kZXggMTViNTBkNmRmYmFlYTEyMjYy
OTllNzEyOTEwZDMwZGJiM2YxZjEzMy4uMTVlNWRmMGIyNTMxNGU3ZTY4MGI4ZTU5YjkwNTRmYTk1
ZTM2NzUyZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1Jbmxp
bmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKQEAg
LTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiBib29sIFZNOjplbnN1cmVTdGFj
a0NhcGFjaXR5Rm9yKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKQogewotI2lmIEVOQUJMRShKSVQp
CisjaWYgIUVOQUJMRShDX0xPT1ApCiAgICAgQVNTRVJUKFRocmVhZDo6Y3VycmVudCgpLnN0YWNr
KCkuaXNHcm93aW5nRG93bndhcmQoKSk7CiAgICAgcmV0dXJuIG5ld1RvcE9mU3RhY2sgPj0gbV9z
b2Z0U3RhY2tMaW1pdDsKICNlbHNlCkBAIC00Nyw3ICs0Nyw3IEBAIGJvb2wgVk06OmVuc3VyZVN0
YWNrQ2FwYWNpdHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiBib29sIFZNOjppc1NhZmVU
b1JlY3Vyc2VTb2Z0KCkgY29uc3QKIHsKICAgICBib29sIHNhZmUgPSBpc1NhZmVUb1JlY3Vyc2Uo
bV9zb2Z0U3RhY2tMaW1pdCk7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkK
ICAgICBzYWZlID0gc2FmZSAmJiBpc1NhZmVUb1JlY3Vyc2VTb2Z0Q0xvb3AoKTsKICNlbmRpZgog
ICAgIHJldHVybiBzYWZlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggZTU2OWNkYzU2Mzg5NzJmMmNhYTE0Mzlh
NmJiMzYyMThmZjlmMzc0Yi4uODgzNWI4OWQ3ZjlhMTU1MjQxNGQ2M2I3MDJiODhiMmVjOGQyODhm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybS5oCkBAIC03NTcsNiArNzU3LDE1IEBACiAjZGVmaW5lIEVOQUJMRV9KSVQg
MAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ19MT09QKQorI2lmIEVOQUJMRShKSVQp
IFwKKyAgICB8fCBDUFUoWDg2XzY0KSB8fCAoQ1BVKEFSTTY0KSAmJiAhZGVmaW5lZChfX0lMUDMy
X18pKQorI2RlZmluZSBFTkFCTEVfQ19MT09QIDAKKyNlbHNlCisjZGVmaW5lIEVOQUJMRV9DX0xP
T1AgMQorI2VuZGlmCisjZW5kaWYKKwogLyogVGhlIEZUTCAqZG9lcyBub3QqIHdvcmsgb24gMzIt
Yml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNvbWVvbmUgYXNrZWQgdXMgdG8gZW5h
YmxlIGl0LiAqLwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAjdW5kZWYgRU5BQkxFX0ZUTF9KSVQK
QEAgLTg2Myw3ICs4NzIsNyBAQAogICogSW4gY29uZmlndXJhdGlvbnMgb3RoZXIgdGhhbiBXaW5k
b3dzIGFuZCBEYXJ3aW4sIGJlY2F1c2UgbGF5b3V0IG9mIG1jb250ZXh0X3QgZGVwZW5kcyBvbiBz
dGFuZGFyZCBsaWJyYXJpZXMgKGxpa2UgZ2xpYmMpLAogICogc2FtcGxpbmcgcHJvZmlsZXIgaXMg
ZW5hYmxlZCBpZiBXZWJLaXQgdXNlcyBwdGhyZWFkcyBhbmQgZ2xpYmMuICovCiAjaWYgIWRlZmlu
ZWQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSKQotI2lmIEVOQUJMRShKSVQpICYmIChPUyhXSU5E
T1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpCisjaWYgIUVOQUJMRShDX0xPT1ApICYmIChP
UyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpCiAjZGVmaW5lIEVOQUJMRV9TQU1Q
TElOR19QUk9GSUxFUiAxCiAjZWxzZQogI2RlZmluZSBFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIg
MApAQCAtOTQ3LDExICs5NTYsMTEgQEAKICNlbmRpZgogCiAvKiBEZXRlcm1pbmUgaWYgd2UgbmVl
ZCB0byBlbmFibGUgQ29tcHV0ZWQgR290byBPcGNvZGVzIG9yIG5vdDogKi8KLSNpZiBIQVZFKENP
TVBVVEVEX0dPVE8pIHx8IEVOQUJMRShKSVQpCisjaWYgSEFWRShDT01QVVRFRF9HT1RPKSB8fCAh
RU5BQkxFKENfTE9PUCkKICNkZWZpbmUgRU5BQkxFX0NPTVBVVEVEX0dPVE9fT1BDT0RFUyAxCiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShKSVQpICYmICFDT01QSUxFUihNU1ZDKSAmJiBcCisjaWYgIUVO
QUJMRShDX0xPT1ApICYmICFDT01QSUxFUihNU1ZDKSAmJiBcCiAgICAgKENQVShYODYpIHx8IENQ
VShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgKENQVShBUk1fVEhVTUIyKSAmJiBPUyhEQVJXSU4p
KSkKIC8qIFRoaXMgZmVhdHVyZSB3b3JrcyBieSBlbWJlZGRpbmcgdGhlIE9wY29kZUlEIGluIHRo
ZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdlbmVyYXRlZCBMTGludCBjb2RlCiAgICB0aGF0IGV4
ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5ub3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBDTG9vcCBz
aW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJlZCB0aGUKQEAgLTk4MSw3ICs5OTAsNyBAQAogCiAv
KiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUgUmVnRXhwIEpJVCBpcyBlbmFibGVkLCB0aGVuIHRo
ZSBBc3NlbWJsZXIgbXVzdCBiZQogICAgZW5hYmxlZCBhcyB3ZWxsOiAqLwotI2lmIEVOQUJMRShK
SVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNpZiBFTkFCTEUoSklUKSB8fCBFTkFCTEUoWUFSUl9K
SVQpIHx8ICFFTkFCTEUoQ19MT09QKQogI2lmIGRlZmluZWQoRU5BQkxFX0FTU0VNQkxFUikgJiYg
IUVOQUJMRV9BU1NFTUJMRVIKICNlcnJvciAiQ2Fubm90IGVuYWJsZSB0aGUgSklUIG9yIFJlZ0V4
cCBKSVQgd2l0aG91dCBlbmFibGluZyB0aGUgQXNzZW1ibGVyIgogI2Vsc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQppbmRleCAxMTZlMGQ5Njk3NGYxMmVkZGUwNjA1YzFlN2NmNmQyMzhiZjNm
YTAwLi5hYTBkYTZhN2U1ZmU0YmI4MGJmMzEyZTc5NTQ2OGI3OWFiNzM5NmViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCkBAIC03MSw5ICs3MSwxMyBAQCBtYWNybyhXRUJLSVRfT1BUSU9O
X0JFR0lOKQogICAgIGlmIChXVEZfQ1BVX0FSTSBPUiBXVEZfQ1BVX0FSTTY0IE9SIFdURl9DUFVf
TUlQUyBPUiBXVEZfQ1BVX1g4Nl82NCBPUiBXVEZfQ1BVX1g4NikKICAgICAgICAgc2V0KEVOQUJM
RV9KSVRfREVGQVVMVCBPTikKICAgICAgICAgc2V0KFVTRV9TWVNURU1fTUFMTE9DX0RFRkFVTFQg
T0ZGKQorICAgICAgICBzZXQoRU5BQkxFX0NfTE9PUF9ERUZBVUxUIE9GRikKKyAgICAgICAgc2V0
KEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUl9ERUZBVUxUIE9OKQogICAgIGVsc2UgKCkKICAgICAg
ICAgc2V0KEVOQUJMRV9KSVRfREVGQVVMVCBPRkYpCiAgICAgICAgIHNldChVU0VfU1lTVEVNX01B
TExPQ19ERUZBVUxUIE9OKQorICAgICAgICBzZXQoRU5BQkxFX0NfTE9PUF9ERUZBVUxUIE9OKQor
ICAgICAgICBzZXQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSX0RFRkFVTFQgT0ZGKQogICAgIGVu
ZGlmICgpCiAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfM0RfVFJBTlNGT1JNUyAi
VG9nZ2xlIDNEIHRyYW5zZm9ybXMgc3VwcG9ydCIgUFJJVkFURSBPTikKQEAgLTEwMCw2ICsxMDQs
NyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCAiVG9nZ2xlIENTUyBTZWxlY3RvcnMgTGV2ZWwg
NCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSAiVG9nZ2xlIGN1cnNvciB2aXNpYmlsaXR5IHN1cHBvcnQiIFBSSVZB
VEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIgIlRvZ2dsZSBDdXN0b20gU2NoZW1lIEhhbmRsZXIgc3VwcG9ydCIgUFJJVkFURSBPRkYp
CisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NfTE9PUCAiRW5hYmxlIENMb29wIGlu
dGVycHJldGVyIiBQUklWQVRFICR7RU5BQkxFX0NfTE9PUF9ERUZBVUxUfSkKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQgIlRvZ2dsZSBkYXNoYm9hcmQg
c3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RB
VEFDVUVfVkFMVUUgIlRvZ2dsZSBkYXRhY3VlIHZhbHVlIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UICJUb2dnbGUg
SFRNTDUgZGF0YWxpc3Qgc3VwcG9ydCIgUFJJVkFURSBPRkYpCkBAIC0xNTgsNyArMTYzLDcgQEAg
bWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSAiVG9nZ2xlIHJlc29sdXRpb24gbWVkaWEgcXVlcnkg
c3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1JF
U09VUkNFX1VTQUdFICJUb2dnbGUgcmVzb3VyY2UgdXNhZ2Ugc3VwcG9ydCIgUFJJVkFURSBPRkYp
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1JVQkJFUl9CQU5ESU5HICJUb2dnbGUg
cnViYmVyIGJhbmRpbmcgc3VwcG9ydCIgUFJJVkFURSBPRkYpCi0gICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSICJUb2dnbGUgc2FtcGxpbmcgcHJvZmlsZXIg
c3VwcG9ydCIgUFJJVkFURSBPTikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU0FN
UExJTkdfUFJPRklMRVIgIlRvZ2dsZSBzYW1wbGluZyBwcm9maWxlciBzdXBwb3J0IiBQUklWQVRF
ICR7RU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSX0RFRkFVTFR9KQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTICJUb2dnbGUgc2VydmljZSBjb250cm9scyBz
dXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfU0VS
VklDRV9XT1JLRVIgIlRvZ2dsZSBTZXJ2aWNlV29ya2VyIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HICJUb2dnbGUg
c21vb3RoIHNjcm9sbGluZyIgUFJJVkFURSBPTikKQEAgLTE5MCwxMiArMTk1LDE0IEBAIG1hY3Jv
KFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1hT
TFQgIlRvZ2dsZSBYU0xUIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoVVNFX1NZU1RFTV9NQUxMT0MgIlRvZ2dsZSBzeXN0ZW0gYWxsb2NhdG9yIGluc3RlYWQg
b2YgV2ViS2l0J3MgY3VzdG9tIGFsbG9jYXRvciIgUFJJVkFURSAke1VTRV9TWVNURU1fTUFMTE9D
X0RFRkFVTFR9KQogCisgICAgV0VCS0lUX09QVElPTl9DT05GTElDVChFTkFCTEVfSklUIEVOQUJM
RV9DX0xPT1ApCisgICAgV0VCS0lUX09QVElPTl9DT05GTElDVChFTkFCTEVfU0FNUExJTkdfUFJP
RklMRVIgRU5BQkxFX0NfTE9PUCkKKwogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9X
RUJfUlRDIEVOQUJMRV9NRURJQV9TVFJFQU0pCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEgRU5BQkxFX1ZJREVPKQogICAgIFdFQktJVF9PUFRJ
T05fREVQRU5EKEVOQUJMRV9ERkdfSklUIEVOQUJMRV9KSVQpCiAgICAgV0VCS0lUX09QVElPTl9E
RVBFTkQoRU5BQkxFX0ZUTF9KSVQgRU5BQkxFX0RGR19KSVQpCiAgICAgV0VCS0lUX09QVElPTl9E
RVBFTkQoRU5BQkxFX1dFQkFTU0VNQkxZIEVOQUJMRV9GVExfSklUKQotICAgIFdFQktJVF9PUFRJ
T05fREVQRU5EKEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiBFTkFCTEVfSklUKQogICAgIFdFQktJ
VF9PUFRJT05fREVQRU5EKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCBFTkFCTEVfVklERU8pCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQo
RU5BQkxFX01FRElBX1NPVVJDRSBFTkFCTEVfVklERU8pCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggMWY5ZDlmNDFlYmZhMzAzM2ZiYWRkYWQzOTQ5M2FiNjBlNWJlNWI2
Yy4uYjUzOTAxYzRjOTVmOTFlM2Y1MGY0ZDIzOGRlZmQxOTllODVmNmVlNiAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA5LTIxICBZ
dXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5vcmc+CisKKyAgICAgICAgW0pT
Q10gRW5hYmxlIExMSW50IEFTTSBpbnRlcnByZXRlciBvbiBYNjQgYW5kIEFSTTY0IGluIG5vbiBK
SVQgY29uZmlndXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg5Nzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSIGRvZXMgbm90IGRlcGVuZCBvbiBFTkFC
TEVfSklUIG5vdyBzaW5jZSBpdCBjYW4gYmUKKyAgICAgICAgdXNlZCB3aXRoIExMSW50IEFTTSBp
bnRlcnByZXRlci4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZToKKwogMjAxOC0wOS0yMCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIEdUSysgbGlicmFyeSB2ZXJzaW9ucyBh
ZnRlciByMjM1MzYyLgo=
</data>
<flag name="review"
          id="367816"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350480</attachid>
            <date>2018-09-21 19:55:47 -0700</date>
            <delta_ts>2018-09-21 20:21:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189778-20180922115546.patch</filename>
            <type>text/plain</type>
            <size>73387</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ODc1NjhmNzgxMmVlODQwNWQzZmRjOGYzZDdlYjRkODJjZjE1YjIxLi5mYWZiZWQ0ODc1Yjk2MGUz
YWJmMDgyZGI3OWU4ZDY4NTM5YzVjYTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTEgQEAKKzIwMTgtMDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xv
d3N0YXJ0Lm9yZz4KKworICAgICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVy
IG9uIFg2NCBhbmQgQVJNNjQgaW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMTEludCBBU00gaW50ZXJwcmV0ZXIg
aXMgMnggYW5kIDE1JSBmYXN0ZXIgdGhhbiBDTG9vcCBpbnRlcnByZXRlciBvbgorICAgICAgICBM
aW51eCBhbmQgbWFjT1MgcmVzcGVjdGl2ZWx5LiBXZSB3b3VsZCBsaWtlIHRvIGVuYWJsZSBpdCBm
b3Igbm9uIEpJVAorICAgICAgICBjb25maWd1cmF0aW9ucyBpbiBYODZfNjQgYW5kIEFSTTY0Lgor
CisgICAgICAgIFRoaXMgcGF0Y2ggZW5hYmxlcyBMTEludCBmb3Igbm9uIEpJVCBidWlsZHMgaW4g
WDg2XzY0IGFuZCBBUk02NCBhcmNoaXRlY3R1cmVzLgorICAgICAgICBQcmV2aW91c2x5LCB3ZSBz
d2l0Y2ggTExJbnQgQVNNIGludGVycHJldGVyIGFuZCBDTG9vcCBieSB1c2luZyBFTkFCTEUoSklU
KQorICAgICAgICBjb25maWd1cmF0aW9uLiBCdXQgaXQgaXMgd3JvbmcgaW4gdGhlIG5ldyBzY2Vu
YXJpbyBzaW5jZSB3ZSBoYXZlIGEgYnVpbGQKKyAgICAgICAgY29uZmlndXJhdGlvbiB0aGF0IHVz
ZXMgTExJbnQgQVNNIGludGVycHJldGVyIGFuZCBKSVQgaXMgZGlzYWJsZWQuIFdlIGludHJvZHVj
ZQorICAgICAgICBFTkFCTEUoQ19MT09QKSBvcHRpb24sIHdoaWNoIHJlcHJlc2VudHMgdGhhdCB3
ZSB1c2UgQ0xvb3AuIEFuZCB3ZSByZXBsYWNlCisgICAgICAgIEVOQUJMRShKSVQpIHdpdGggRU5B
QkxFKENfTE9PUCkgaWYgdGhlIHByZXZpb3VzIEVOQUJMRShKSVQpIGlzIGVzc2VudGlhbGx5IGp1
c3QKKyAgICAgICAgcmVsYXRlZCB0byBMTEludCBBU00gaW50ZXJwcmV0ZXIgYW5kIG5vdCByZWxh
dGVkIHRvIEpJVC4KKworICAgICAgICBXZSBhbHNvIHJlcGxhY2Ugc29tZSBFTkFCTEUoSklUKSBj
b25maWd1cmF0aW9ucyB3aXRoIEVOQUJMRShBU1NFTUJMRVIpLgorICAgICAgICBFTkFCTEUoQVNT
RU1CTEVSKSBpcyBub3cgZW5hYmxlZCBldmVuIGlmIHdlIGRpc2FibGUgSklUIHNpbmNlIE1hY3Jv
QXNzZW1ibGVyCisgICAgICAgIGhhcyBtYWNoaW5lIHJlZ2lzdGVyIGluZm9ybWF0aW9uIHRoYXQg
aXMgdXNlZCBpbiBMTEludCBBU00gaW50ZXJwcmV0ZXIuCisKKyAgICAgICAgKiBBUEkvdGVzdHMv
UGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHA6CisgICAgICAgICh0ZXN0UGluZ1BvbmdTdGFj
a092ZXJmbG93KToKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGFzc2VtYmxlci9N
YXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oOgorICAgICAgICAqIGJ5dGVjb2RlL0NhbGxS
ZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0Lmg6IFJlbW92ZWQuIEl0IGlzIG5vIGxvbmdlciB1
c2VkLgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNv
ZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5o
OgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmNhbGxlZVNhdmVSZWdpc3RlcnMgY29uc3QpOgor
ICAgICAgICAoSlNDOjpDb2RlQmxvY2s6Om51bWJlck9mTExJbnRCYXNlbGluZUNhbGxlZVNhdmVS
ZWdpc3RlcnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmxsaW50QmFzZWxpbmVDYWxsZWVT
YXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmNh
bGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyk6CisgICAgICAgICogYnl0ZWNvZGUvT3Bj
b2RlLmg6CisgICAgICAgIChKU0M6OnBhZE9wY29kZU5hbWUpOgorICAgICAgICAqIGhlYXAvSGVh
cC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6OmdhdGhlckpTU3RhY2tSb290cyk6CisgICAgICAg
IChKU0M6OkhlYXA6OnN0b3BUaGVQZXJpcGhlcnkpOgorICAgICAgICAqIGludGVycHJldGVyL0NM
b29wU3RhY2suY3BwOgorICAgICAgICAqIGludGVycHJldGVyL0NMb29wU3RhY2suaDoKKyAgICAg
ICAgKiBpbnRlcnByZXRlci9DTG9vcFN0YWNrSW5saW5lcy5oOgorICAgICAgICAqIGludGVycHJl
dGVyL0VudHJ5RnJhbWUuaDoKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6
CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpJbnRlcnByZXRlcik6CisgICAgICAgIChKU0M6
OlVud2luZEZ1bmN0b3I6OmNvcHlDYWxsZWVTYXZlc1RvRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVm
ZmVyIGNvbnN0KToKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5oOgorICAgICAg
ICAqIGludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHA6CisgICAgICAgIChKU0M6OlN0YWNrVmlz
aXRvcjo6RnJhbWU6OmNhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAqIGludGVycHJldGVy
L1ZNRW50cnlSZWNvcmQuaDoKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oOgor
ICAgICAgICAqIGppdC9GUFJJbmZvLmg6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwpOgor
ICAgICAgICAqIGppdC9HUFJJbmZvLmNwcDoKKyAgICAgICAgKiBqaXQvR1BSSW5mby5oOgorICAg
ICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBqaXQvSG9zdENhbGxSZXR1cm5W
YWx1ZS5jcHA6CisgICAgICAgIChKU0M6OmdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0
YXRlKTogTW92ZWQuIFRoZXkgYXJlIHVzZWQgaW4gTExJbnQgQVNNIGludGVycHJldGVyIHRvby4K
KyAgICAgICAgKiBqaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oOgorICAgICAgICAqIGppdC9KSVRP
cGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhF
eGVjU3RhdGUpOiBEZWxldGVkLgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zTVNWQzY0LmNw
cDoKKyAgICAgICAgKiBqaXQvUmVnLmNwcDoKKyAgICAgICAgKiBqaXQvUmVnLmg6CisgICAgICAg
ICogaml0L1JlZ2lzdGVyQXRPZmZzZXQuY3BwOgorICAgICAgICAqIGppdC9SZWdpc3RlckF0T2Zm
c2V0Lmg6CisgICAgICAgICogaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmNwcDoKKyAgICAgICAg
KiBqaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuaDoKKyAgICAgICAgKiBqaXQvUmVnaXN0ZXJNYXAu
aDoKKyAgICAgICAgKiBqaXQvUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAqIGppdC9SZWdpc3Rl
clNldC5oOgorICAgICAgICAqIGppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAqIGpp
dC9UZW1wUmVnaXN0ZXJTZXQuaDoKKyAgICAgICAgKiBsbGludC9MTEludENMb29wLmNwcDoKKyAg
ICAgICAgKiBsbGludC9MTEludENMb29wLmg6CisgICAgICAgICogbGxpbnQvTExJbnREYXRhLmNw
cDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OmluaXRpYWxpemUpOgorICAgICAgICAoSlNDOjpMTElu
dDo6RGF0YTo6cGVyZm9ybUFzc2VydGlvbnMpOgorICAgICAgICAqIGxsaW50L0xMSW50RGF0YS5o
OgorICAgICAgICAqIGxsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oOgorICAgICAgICAqIGxs
aW50L0xMSW50T3Bjb2RlLmg6CisgICAgICAgICogbGxpbnQvTExJbnRQQ1Jhbmdlcy5oOgorICAg
ICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkxM
SU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5oOgor
ICAgICAgICAqIGxsaW50L0xMSW50VGh1bmtzLmNwcDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmNwcDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmg6
CisgICAgICAgICogcnVudGltZS9KU0NKU1ZhbHVlLmg6CisgICAgICAgICogcnVudGltZS9NYWNo
aW5lQ29udGV4dC5oOgorICAgICAgICAqIHJ1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHA6Cisg
ICAgICAgIChKU0M6OlNhbXBsaW5nUHJvZmlsZXI6OnByb2Nlc3NVbnZlcmlmaWVkU3RhY2tUcmFj
ZXMpOiBFbmFibGUgU2FtcGxpbmdQcm9maWxlcgorICAgICAgICBmb3IgTExJbnQgQVNNIGludGVy
cHJldGVyIHdpdGggbm9uIEpJVCBjb25maWd1cmF0aW9uLgorICAgICAgICAqIHJ1bnRpbWUvVGVz
dFJ1bm5lclV0aWxzLmNwcDoKKyAgICAgICAgKEpTQzo6b3B0aW1pemVOZXh0SW52b2NhdGlvbik6
CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAg
ICAgIChKU0M6OlZNOjpnZXRIb3N0RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpWTTo6dXBkYXRl
U29mdFJlc2VydmVkWm9uZVNpemUpOgorICAgICAgICAoSlNDOjpzYW5pdGl6ZVN0YWNrRm9yVk0p
OgorICAgICAgICAoSlNDOjpWTTo6Y29tbWl0dGVkU3RhY2tCeXRlQ291bnQpOgorICAgICAgICAq
IHJ1bnRpbWUvVk0uaDoKKyAgICAgICAgKiBydW50aW1lL1ZNSW5saW5lcy5oOgorICAgICAgICAo
SlNDOjpWTTo6ZW5zdXJlU3RhY2tDYXBhY2l0eUZvcik6CisgICAgICAgIChKU0M6OlZNOjppc1Nh
ZmVUb1JlY3Vyc2VTb2Z0IGNvbnN0KToKKwogMjAxOC0wOS0yMSAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgUHJvbWlzZSBTUEkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggMTNk
N2FhMWU0MDU3NWRlNjkxYjZkZDkzNDBhNGY1MzBlZGU1ZmZjMy4uZTRiY2Y0OGNmMTU2OTk0YmZk
MjYxZWVjZTEzM2VkZGYzZDljMjQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0wOS0yMSAg
WXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQub3JnPgorCisgICAgICAgIFtK
U0NdIEVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIgb24gWDY0IGFuZCBBUk02NCBpbiBub24g
SklUIGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4OTc3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBFTkFCTEUoQ19MT09QKSB3aGljaCBpbmRpY2F0ZXMg
d2UgdXNlIENMb29wIGFzIHRoZSBpbnRlcnByZXRlci4KKyAgICAgICAgUHJldmlvdXNseSwgd2Ug
dXNlZCAhRU5BQkxFKEpJVCkgZm9yIHRoaXMgY29uZmlndXJhdGlvbi4gQnV0IG5vdywgd2UgaGF2
ZQorICAgICAgICBhIGJ1aWxkIGNvbmZpZ3VyYXRpb24gdGhhdCBoYXMgTExJbnQgQVNNIGludGVy
cHJldGVyIChub3QgQ0xvb3ApIGFuZCAhRU5BQkxFKEpJVCkuCisKKyAgICAgICAgV2UgZW5hYmxl
IExMSW50IEFTTSBpbnRlcnByZXRlciBmb3Igbm9uIEpJVCBlbnZpcm9ubWVudCBpbiBYODZfNjQg
YW5kIEFSTTY0IGFyY2hpdGVjdHVyZXMuCisgICAgICAgIEFuZCB3ZSBlbmFibGUgRU5BQkxFKEFT
U0VNQkxFUikgZm9yIG5vbiBKSVQgZW52aXJvbm1lbnQgc2luY2UgaXQgb2ZmZXJzIG1hY2hpbmUg
cmVnaXN0ZXIKKyAgICAgICAgaW5mb3JtYXRpb24gd2hpY2ggaXMgdXNlZCBmb3IgTExJbnQgYW5k
IFNhbXBsaW5nUHJvZmlsZXIuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxOC0w
OS0yMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgUHJvbWlzZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVz
dHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCmluZGV4IGZiZTQ2ODcyMDMy
Yjg2MTA5MDMzNDVmNjQ3ZWFkZGEzNGMwZDg5OTEuLjgzMmJkMTQwYmM5NWVhZGJkNTZiNDI4Zjcw
MzcxN2E0NzM0ZWJjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVz
dHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcApAQCAtMTI3LDcgKzEy
Nyw3IEBAIGludCB0ZXN0UGluZ1BvbmdTdGFja092ZXJmbG93KCkKIAogICAgIE9wdGlvbnM6OnNv
ZnRSZXNlcnZlZFpvbmVTaXplKCkgPSAxMjggKiBLQjsKICAgICBPcHRpb25zOjpyZXNlcnZlZFpv
bmVTaXplKCkgPSA2NCAqIEtCOwotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkK
ICAgICAvLyBOb3JtYWxseSwgd2Ugd2FudCB0byBkaXNhYmxlIHRoZSBMTElOVCB0byBmb3JjZSB0
aGUgdXNlIG9mIEpJVHRlZCBjb2RlIHdoaWNoIGlzIG5lY2Vzc2FyeSBmb3IKICAgICAvLyByZXBy
b2R1Y2luZyB0aGUgcmVncmVzc2lvbiBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ4NzQ5LiBIb3dldmVyLCB3ZSBvbmx5CiAgICAgLy8gd2FudCB0byBkbyB0aGlz
IGlmIHRoZSBMTElOVCBpc24ndCB0aGUgb25seSBhdmFpbGFibGUgZXhlY3V0aW9uIGVuZ2luZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5NmUzM2EyMDU3N2E0YTU3NTRh
MWZlYTk0MzJkNzk2NDA2MTI0MzIyLi4zMzYwOWE1Y2UyYzA5MGM0ZDAzYjU2OGFjYjNmZmZhMjFj
OTQ0NWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMzEsNyArMjMx
LDkgQEAgZWxzZSAoKQogICAgIGVuZGlmICgpCiAKICAgICBpZiAoTk9UIEVOQUJMRV9KSVQpCi0g
ICAgICAgIHNldChPRkZMSU5FX0FTTV9CQUNLRU5EICJDX0xPT1AiKQorICAgICAgICBpZiAoRU5B
QkxFX0NfTE9PUCkKKyAgICAgICAgICAgIHNldChPRkZMSU5FX0FTTV9CQUNLRU5EICJDX0xPT1Ai
KQorICAgICAgICBlbmRpZiAoKQogICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCkBAIC0yNjQsNyAr
MjY2LDcgQEAgYWRkX2RlcGVuZGVuY2llcyhMTEludE9mZnNldHNFeHRyYWN0b3IgSmF2YVNjcmlw
dENvcmVGb3J3YXJkaW5nSGVhZGVycykKICMgTExJbnRPZmZzZXRzRXh0cmFjdG9yIG1hdGNoZXMs
IG5vIG91dHB1dCBpcyBnZW5lcmF0ZWQuIFRvIG1ha2UgdGhpcyB0YXJnZXQgY29uc2lzdGVudCBh
bmQgYXZvaWQKICMgcnVubmluZyB0aGlzIGNvbW1hbmQgZm9yIGV2ZXJ5IGJ1aWxkLCB3ZSBhcnRp
ZmljaWFsbHkgdXBkYXRlIExMSW50QXNzZW1ibHkuaCdzIG10aW1lICh1c2luZyB0b3VjaCkKICMg
YWZ0ZXIgZXZlcnkgYXNtLnJiIHJ1bi4KLWlmIChNU1ZDIEFORCBFTkFCTEVfSklUKQoraWYgKE1T
VkMgQU5EIE5PVCBFTkFCTEVfQ19MT09QKQogICAgIHNldChMTEludE91dHB1dCBMb3dMZXZlbElu
dGVycHJldGVyV2luLmFzbSkKICAgICBzZXQoT0ZGTElORV9BU01fQVJHUyAtLWFzc2VtYmxlcj1N
QVNNKQogZWxzZSAoKQpAQCAtMjg0LDcgKzI4Niw3IEBAIGFkZF9jdXN0b21fY29tbWFuZCgKICMg
dGhlIC5jcHAgZmlsZXMgYmVsb3cgaXMgc2ltaWxhciB0byB0aGUgb25lIGluIHRoZSBwcmV2aW91
cyBjb21tZW50LiBIb3dldmVyLCBzaW5jZSB0aGVzZSAuY3BwCiAjIGZpbGVzIGFyZSB1c2VkIHRv
IGJ1aWxkIEphdmFTY3JpcHRDb3JlIGl0c2VsZiwgd2UgY2FuIGp1c3QgYWRkIExMSW50QXNzZW1i
bHkuaCB0byBKU0NfSEVBREVSUwogIyBzaW5jZSBpdCBpcyB1c2VkIGluIHRoZSBhZGRfbGlicmFy
eSgpIGNhbGwgYXQgdGhlIGVuZCBvZiB0aGlzIGZpbGUuCi1pZiAoTVNWQyBBTkQgRU5BQkxFX0pJ
VCkKK2lmIChNU1ZDIEFORCBOT1QgRU5BQkxFX0NfTE9PUCkKICAgICBlbmFibGVfbGFuZ3VhZ2Uo
QVNNX01BU00pCiAgICAgaWYgKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKICAgICAgICAg
IyBXaW4zMiBuZWVkcyAvc2FmZXNlaCB3aXRoIGFzc2VtYmx5LCBidXQgV2luNjQgZG9lcyBub3Qu
CkBAIC0xMTgyLDcgKzExODQsNyBAQCBhZGRfY3VzdG9tX2NvbW1hbmQoCiBsaXN0KEFQUEVORCBK
YXZhU2NyaXB0Q29yZV9IRUFERVJTICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogaWYgKFdURl9DUFVfWDg2XzY0KQotICAgIGlm
IChNU1ZDIEFORCBFTkFCTEVfSklUKQorICAgIGlmIChNU1ZDIEFORCBOT1QgRU5BQkxFX0NfTE9P
UCkKICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAogICAgICAgICAgICAgT1VUUFVUICR7REVS
SVZFRF9TT1VSQ0VTX0RJUn0vSklUU3R1YnNNU1ZDNjQub2JqCiAgICAgICAgICAgICBNQUlOX0RF
UEVOREVOQ1kgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2ppdC9KSVRTdHVic01TVkM2NC5hc20KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzc3ODdmMmE3MWY1YWNiNjNkNmRkYWJmODUz
ZWQ1ODQzNjM2MWMxMS4uNzc0ZDk3NzYxY2YzNmY3YjZmZTM1YzM2NzA2MWJhNWE3YjA0YTI1MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOSw3ICsxMDksNiBAQAogCQkwRjBC
ODNBOTE0QkNGNTYyMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0E4MTRCQ0Y1NUUwMDg4NUI0RiAvKiBI
YW5kbGVySW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTBGMEI4M0FCMTRCQ0Y1QkIwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBCODNBQTE0
QkNGNUI5MDA4ODVCNEYgLyogRXhwcmVzc2lvblJhbmdlSW5mby5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMEI4M0IxMTRCQ0Y3MTgwMDg4NUI0
RiAvKiBDYWxsTGlua0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGMEI4M0FGMTRCQ0Y3MTQwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjBCODNCOTE0
QkNGOTVGMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0I4MTRCQ0Y5
NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMENBRUZDMUVDNERB
NkIwMDk3MEQxMiAvKiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBDQUVGQTFFQzREQTYyMDA5NzBEMTIgLyog
SlNIZWFwRmluYWxpemVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTBGMENBRUZGMUVDNERBODgwMDk3MEQxMiAvKiBIZWFwRmluYWxp
emVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMENBRUZFMUVDNERBODUwMDk3MEQxMiAvKiBIZWFwRmluYWxpemVyQ2FsbGJhY2suaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjBDRDRD
MjE1RjFBNjA3MDAzMkYxQzAgLyogUHV0RGlyZWN0SW5kZXhNb2RlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBDRDRDMDE1RjFBNjA0MDAzMkYxQzAg
LyogUHV0RGlyZWN0SW5kZXhNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKQEAgLTIwMTIsNyArMjAxMSw2IEBACiAJCTBGMEI4M0FBMTRCQ0Y1Qjkw
MDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV4cHJlc3Npb25SYW5nZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEYwQjgzQUUxNEJDRjcxNDAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxsTGlua0luZm8uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExp
bmtJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxMaW5rSW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRjBCODNCODE0QkNGOTVCMDA4ODVCNEYg
LyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYwQ0FFRjkxRUM0REE2MjAwOTcwRDEyIC8qIEpTSGVh
cEZpbmFsaXplclByaXZhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGMENBRUZBMUVDNERBNjIwMDk3MEQxMiAvKiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSGVhcEZpbmFsaXplclByaXZhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYwQ0FFRkQxRUM0REE4NTAwOTcwRDEy
IC8qIEhlYXBGaW5hbGl6ZXJDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBIZWFwRmluYWxpemVyQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNzYzNCw3ICs3NjMyLDYgQEAKIAkJCQkwRjkzMzI5NDE0Q0E3REMxMDA4NUYz
QzYgLyogQ2FsbExpbmtTdGF0dXMuaCAqLywKIAkJCQk2Mjc2NzMyMTFCNjgwQzFFMDBGRDlGMkUg
LyogQ2FsbE1vZGUuY3BwICovLAogCQkJCTYyNzY3MzIyMUI2ODBDMUUwMEZEOUYyRSAvKiBDYWxs
TW9kZS5oICovLAotCQkJCTBGMEI4M0I4MTRCQ0Y5NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zm
c2V0VG9CeXRlY29kZU9mZnNldC5oICovLAogCQkJCTBGM0I3RTI0MTlBMTFCODAwMEQ5QkM1NiAv
KiBDYWxsVmFyaWFudC5jcHAgKi8sCiAJCQkJMEYzQjdFMjUxOUExMUI4MDAwRDlCQzU2IC8qIENh
bGxWYXJpYW50LmggKi8sCiAJCQkJOTY5QTA3OTAwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9j
ay5jcHAgKi8sCkBAIC04NDgzLDcgKzg0ODAsNiBAQAogCQkJCTBGMEI4M0IxMTRCQ0Y3MTgwMDg4
NUI0RiAvKiBDYWxsTGlua0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOTMzMjlFMTRDQTdE
QzUwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjI3Njcz
MjQxQjY4MEMxRTAwRkQ5RjJFIC8qIENhbGxNb2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjBC
ODNCOTE0QkNGOTVGMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGM0I3RTJCMTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxsVmFy
aWFudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU4MEMxOTcxRDc3NUNERDAwODUxMEMwIC8qIENh
dGNoU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMjRFNTQyMTdFQTlGNTkwMEFCQjIxNyAv
KiBDQ2FsbEhlbHBlcnMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2Fs
bC5oCmluZGV4IGM2ZjUzYjM0Nzk2NmM2NjM1NGQwMWY4YWQ2ZGNmYmNjODk3OWZmNzMuLjQzMjEz
MDVjNjhlNGRhZjYyODIzZjZlZWY3NTk1MWZhMjdhOTM2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xv
d1BhdGhDYWxsLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyB0aGF0IGNh
biBiZSB1c2VkIGZvciBvdXRnb2luZyBhcmdzIHdoZW4gY2FsbGluZyBhIHNsb3cgcGF0aCBDIGZ1
bmN0aW9uCiAvLyBmcm9tIEpTIGNvZGUuCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxF
KEFTU0VNQkxFUikKIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0
aENhbGwgPSAwOwogCiAjZWxpZiBDUFUoWDg2XzY0KSAmJiBPUyhXSU5ET1dTKQpAQCAtNjksNyAr
NjksNyBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxs
ID0gNDA7CiAKIENPTVBJTEVfQVNTRVJUKCEobWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwg
JSBzaXplb2YoUmVnaXN0ZXIpKSwgZXh0ZW50X211c3RfYmVfaW5fbXVsdGlwbGVzX29mX3JlZ2lz
dGVycyk7CiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAvLyBNYWtl
IHN1cmUgdGhhdCBjZnIgLSBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCBieXRlcyB3aWxs
IG1ha2UgdGhlIHN0YWNrIHBvaW50ZXIgYWxpZ25lZAogQ09NUElMRV9BU1NFUlQoKG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsICUgMTYpID09IDE2IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5k
UEMpLCBleHRlbnRfbXVzdF9hbGlnbl9zdGFja19mcm9tX2NhbGxmcmFtZV9wb2ludGVyKTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxSZXR1
cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMmQxYjAwY2JlODE4MTIyZjZlNzIwMjc3Y2NjZjIwNjZhYmY3ZWFhNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaAorKysg
L2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBKU0MgewotCi0jaWYg
RU5BQkxFKEpJVCkKLS8vIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gbWFwIGZyb20gYSBjYWxs
IHJldHVybiBsb2NhdGlvbgotLy8gKGdpdmVuIGFzIGFuIG9mZnNldCBpbiBieXRlcyBpbnRvIHRo
ZSBKSVQgY29kZSkgYmFjayB0bwotLy8gdGhlIGJ5dGVjb2RlIGluZGV4IG9mIHRoZSBjb3JyZXNw
b25kaW5nIGJ5dGVjb2RlIG9wZXJhdGlvbi4KLS8vIFRoaXMgaXMgdGhlbiB1c2VkIHRvIGxvb2sg
dXAgdGhlIGNvcnJlc3BvbmRpbmcgaGFuZGxlci4KLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBt
YWRlIGlubGluaW5nIGF3YXJlISBDdXJyZW50bHkgaXQgaXNuJ3QKLS8vIGJlY2F1c2Ugd2UgbmV2
ZXIgaW5saW5lIGNvZGUgdGhhdCBoYXMgZXhjZXB0aW9uIGhhbmRsZXJzLgotc3RydWN0IENhbGxS
ZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0IHsKLSAgICBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRl
Y29kZU9mZnNldCh1bnNpZ25lZCBjYWxsUmV0dXJuT2Zmc2V0LCB1bnNpZ25lZCBieXRlY29kZU9m
ZnNldCkKLSAgICAgICAgOiBjYWxsUmV0dXJuT2Zmc2V0KGNhbGxSZXR1cm5PZmZzZXQpCi0gICAg
ICAgICwgYnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpCi0gICAgewotICAgIH0KLQotICAg
IHVuc2lnbmVkIGNhbGxSZXR1cm5PZmZzZXQ7Ci0gICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQ7
Ci19OwotCi1pbmxpbmUgdW5zaWduZWQgZ2V0Q2FsbFJldHVybk9mZnNldChDYWxsUmV0dXJuT2Zm
c2V0VG9CeXRlY29kZU9mZnNldCogcGMpCi17Ci0gICAgcmV0dXJuIHBjLT5jYWxsUmV0dXJuT2Zm
c2V0OwotfQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCAyN2FmMGZkZTJjMDhjNWE1NGZiODE5
ZDFhY2MzYjEzNGU3NjMxNWUzLi42NTRjMTQ3MTc3ODRlYmY5NjE5ZjM1YjQ0Njc1OGFlOTAxNDAy
NGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApA
QCAtODksNyArODksNyBAQAogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKLSNpZiBFTkFCTEUoSklUKQor
I2lmIEVOQUJMRShBU1NFTUJMRVIpCiAjaW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldExpc3QuaCIK
ICNlbmRpZgogCkBAIC01MDksNyArNTA5LDcgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgU2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKICAg
ICBpZiAoc2l6ZV90IHNpemUgPSB1bmxpbmtlZENvZGVCbG9jay0+bnVtYmVyT2ZPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZXMoKSkKICAgICAgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZXMgPSBS
ZWZDb3VudGVkQXJyYXk8T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU+KHNpemUpOwogCi0jaWYgRU5B
QkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJz
KFJlZ2lzdGVyU2V0OjpsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKICNlbmRp
ZgogCkBAIC0yMTQ1LDcgKzIxNDUsNyBAQCB1bnNpZ25lZCBDb2RlQmxvY2s6OnJlb3B0aW1pemF0
aW9uUmV0cnlDb3VudGVyKCkgY29uc3QKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCi0jaWYg
RU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIHZvaWQgQ29kZUJsb2NrOjpzZXRDYWxs
ZWVTYXZlUmVnaXN0ZXJzKFJlZ2lzdGVyU2V0IGNhbGxlZVNhdmVSZWdpc3RlcnMpCiB7CiAgICAg
bV9jYWxsZWVTYXZlUmVnaXN0ZXJzID0gc3RkOjptYWtlX3VuaXF1ZTxSZWdpc3RlckF0T2Zmc2V0
TGlzdD4oY2FsbGVlU2F2ZVJlZ2lzdGVycyk7CkBAIC0yMTcyLDYgKzIxNzIsOSBAQCBzaXplX3Qg
Q29kZUJsb2NrOjpjYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKQogewogICAgIHJl
dHVybiByb3VuZENhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyhtX2NhbGxlZVNhdmVS
ZWdpc3RlcnMtPnNpemUoKSk7CiB9CisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpCiAKIHZvaWQg
Q29kZUJsb2NrOjpjb3VudFJlb3B0aW1pemF0aW9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCBhM2EzZDI2MzkwMGQzMTIyYzA5ZTIwNGYzMmI1
N2IzZTEwMWEzMmIyLi4wMTQ3ZDdhNzljODlkNjFmNDIzZmQ0ZGVkZDNjY2M2ZTFlNDIzN2JjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC02NDUsMTEg
KzY0NSwyMyBAQCBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAvLyB0byBh
dm9pZCB0aHJhc2hpbmcuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdW5zaWduZWQgcmVvcHRpbWl6
YXRpb25SZXRyeUNvdW50ZXIoKSBjb25zdDsKICAgICB2b2lkIGNvdW50UmVvcHRpbWl6YXRpb24o
KTsKLSNpZiBFTkFCTEUoSklUKQorCisjaWYgIUVOQUJMRShDX0xPT1ApCisgICAgdm9pZCBzZXRD
YWxsZWVTYXZlUmVnaXN0ZXJzKFJlZ2lzdGVyU2V0KTsKKyAgICB2b2lkIHNldENhbGxlZVNhdmVS
ZWdpc3RlcnMoc3RkOjp1bmlxdWVfcHRyPFJlZ2lzdGVyQXRPZmZzZXRMaXN0Pik7CisKKyAgICBS
ZWdpc3RlckF0T2Zmc2V0TGlzdCogY2FsbGVlU2F2ZVJlZ2lzdGVycygpIGNvbnN0IHsgcmV0dXJu
IG1fY2FsbGVlU2F2ZVJlZ2lzdGVycy5nZXQoKTsgfQorCiAgICAgc3RhdGljIHVuc2lnbmVkIG51
bWJlck9mTExJbnRCYXNlbGluZUNhbGxlZVNhdmVSZWdpc3RlcnMoKSB7IHJldHVybiBSZWdpc3Rl
clNldDo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVSZWdpc3RlcnMoKS5udW1iZXJPZlNldFJlZ2lz
dGVycygpOyB9CiAgICAgc3RhdGljIHNpemVfdCBsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVNwYWNl
QXNWaXJ0dWFsUmVnaXN0ZXJzKCk7CiAgICAgc2l6ZV90IGNhbGxlZVNhdmVTcGFjZUFzVmlydHVh
bFJlZ2lzdGVycygpOworI2Vsc2UKKyAgICBzdGF0aWMgdW5zaWduZWQgbnVtYmVyT2ZMTEludEJh
c2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpIHsgcmV0dXJuIDA7IH0KKyAgICBzdGF0aWMgc2l6
ZV90IGxsaW50QmFzZWxpbmVDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJl
dHVybiAwOyB9OworICAgIHNpemVfdCBjYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMo
KSB7IHJldHVybiAwOyB9CisjZW5kaWYKIAorI2lmIEVOQUJMRShKSVQpCiAgICAgdW5zaWduZWQg
bnVtYmVyT2ZERkdDb21waWxlcygpOwogCiAgICAgaW50MzJfdCBjb2RlVHlwZVRocmVzaG9sZE11
bHRpcGxpZXIoKSBjb25zdDsKQEAgLTczOSwxNCArNzUxLDcgQEAgY2xhc3MgQ29kZUJsb2NrIDog
cHVibGljIEpTQ2VsbCB7CiAgICAgYm9vbCBzaG91bGRSZW9wdGltaXplTm93KCk7CiAgICAgYm9v
bCBzaG91bGRSZW9wdGltaXplRnJvbUxvb3BOb3coKTsKIAotICAgIHZvaWQgc2V0Q2FsbGVlU2F2
ZVJlZ2lzdGVycyhSZWdpc3RlclNldCk7Ci0gICAgdm9pZCBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJz
KHN0ZDo6dW5pcXVlX3B0cjxSZWdpc3RlckF0T2Zmc2V0TGlzdD4pOwotICAgIAotICAgIFJlZ2lz
dGVyQXRPZmZzZXRMaXN0KiBjYWxsZWVTYXZlUmVnaXN0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9j
YWxsZWVTYXZlUmVnaXN0ZXJzLmdldCgpOyB9CiAjZWxzZSAvLyBObyBKSVQKLSAgICBzdGF0aWMg
dW5zaWduZWQgbnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpIHsgcmV0
dXJuIDA7IH0KLSAgICBzdGF0aWMgc2l6ZV90IGxsaW50QmFzZWxpbmVDYWxsZWVTYXZlU3BhY2VB
c1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9OwotICAgIHNpemVfdCBjYWxsZWVTYXZl
U3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9CiAgICAgdm9pZCBvcHRpbWl6
ZUFmdGVyV2FybVVwKCkgeyB9CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZERkdDb21waWxlcygpIHsg
cmV0dXJuIDA7IH0KICNlbmRpZgpAQCAtOTY1LDggKzk3MCwxMCBAQCBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgSlNDZWxsIHsKICAgICBTZW50aW5lbExpbmtlZExpc3Q8TExJbnRDYWxsTGlua0lu
Zm8sIEJhc2ljUmF3U2VudGluZWxOb2RlPExMSW50Q2FsbExpbmtJbmZvPj4gbV9pbmNvbWluZ0xM
SW50Q2FsbHM7CiAgICAgU3RydWN0dXJlV2F0Y2hwb2ludE1hcCBtX2xsaW50R2V0QnlJZFdhdGNo
cG9pbnRNYXA7CiAgICAgUG9pc29uZWRSZWZQdHI8Q29kZUJsb2NrUG9pc29uLCBKSVRDb2RlPiBt
X2ppdENvZGU7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UmVnaXN0ZXJBdE9mZnNldExpc3Q+IG1fY2FsbGVlU2F2ZVJlZ2lzdGVyczsK
KyNlbmRpZgorI2lmIEVOQUJMRShKSVQpCiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29u
LCBTdHJ1Y3R1cmVTdHViSW5mbz4gbV9zdHViSW5mb3M7CiAgICAgUG9pc29uZWRCYWc8Q29kZUJs
b2NrUG9pc29uLCBKSVRBZGRJQz4gbV9hZGRJQ3M7CiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2Nr
UG9pc29uLCBKSVRNdWxJQz4gbV9tdWxJQ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
T3Bjb2RlLmgKaW5kZXggNGVmMjc0ZmFlYjM0YjAxZjhlY2JjNmQ0ZGY5NTQwMWM4OTk3ZGEzOC4u
YmUzODhlMTg5YzkzNzY2ZTRlMGRmYWIxMjJiYTUxNWM2MDE0MTY3YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICN1bmRlZiBPUENPREVfSURfRU5VTQogCiBjb25zdCBpbnQgbWF4T3Bjb2RlTGVuZ3RoID0g
OTsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogY29uc3QgaW50IG51bU9w
Y29kZUlEcyA9IE5VTUJFUl9PRl9CWVRFQ09ERV9JRFMgKyBOVU1CRVJfT0ZfQ0xPT1BfQllURUNP
REVfSEVMUEVSX0lEUyArIE5VTUJFUl9PRl9CWVRFQ09ERV9IRUxQRVJfSURTOwogI2Vsc2UKIGNv
bnN0IGludCBudW1PcGNvZGVJRHMgPSBOVU1CRVJfT0ZfQllURUNPREVfSURTICsgTlVNQkVSX09G
X0JZVEVDT0RFX0hFTFBFUl9JRFM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4
IDdhNDZhNTJlN2EzNzg1NDAyYmYyMTM3N2QwODU0MWE0ZDU3Y2YwZDAuLmNjNGEzMzY1MWEyZjE5
NmZjYWZiMzJhY2MwYTYwM2Q5ODg4MjNmMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hlYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAu
Y3BwCkBAIC02NzIsNyArNjcyLDcgQEAgdm9pZCBIZWFwOjpnYXRoZXJTdGFja1Jvb3RzKENvbnNl
cnZhdGl2ZVJvb3RzJiByb290cykKIAogdm9pZCBIZWFwOjpnYXRoZXJKU1N0YWNrUm9vdHMoQ29u
c2VydmF0aXZlUm9vdHMmIHJvb3RzKQogewotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShD
X0xPT1ApCiAgICAgbV92bS0+aW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5nYXRoZXJDb25zZXJ2
YXRpdmVSb290cyhyb290cywgKm1faml0U3R1YlJvdXRpbmVzLCAqbV9jb2RlQmxvY2tzKTsKICNl
bHNlCiAgICAgVU5VU0VEX1BBUkFNKHJvb3RzKTsKQEAgLTE2MDUsOSArMTYwNSw4IEBAIHZvaWQg
SGVhcDo6c3RvcFRoZVBlcmlwaGVyeShHQ0NvbmR1Y3RvciBjb25uKQogICAgICAgICAgICAgJiYg
Y29ubiA9PSBHQ0NvbmR1Y3Rvcjo6Q29sbGVjdG9yKQogICAgICAgICAgICAgc2V0R0NEaWRKSVQo
KTsKICAgICB9Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZiAvLyBFTkFC
TEUoSklUKQorICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICAgICAKICAgICB2bSgpLT5zaGFkb3dD
aGlja2VuKCkudXBkYXRlKCp2bSgpLCB2bSgpLT50b3BDYWxsRnJhbWUpOwogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwCmluZGV4IGFi
YzEwYThmZWFkMjg2MTUxOTY5YmEyMjM1Y2IzNDdjN2U2MWU4NTcuLjlhMjAwNzI2NjI4OGI4YWRl
ZTNiODkwNTRlYjcyNjEyNTQ1NDI3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJDTG9vcFN0YWNrLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNp
ZiBFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiQ0xvb3BTdGFja0lubGluZXMuaCIKICNpbmNs
dWRlICJDb25zZXJ2YXRpdmVSb290cy5oIgpAQCAtMTYzLDQgKzE2Myw0IEBAIHNpemVfdCBDTG9v
cFN0YWNrOjpjb21taXR0ZWRCeXRlQ291bnQoKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2Vu
ZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suaAppbmRleCA5ZTVkZGExNGIy
YmIwZDRmYzc3ZjVjN2Q2OTk0YTdiZjI3NzFmMWJiLi4xZjRkOTlkOGI0MzRlOWI0NzllNDgzN2Ey
OWRmZGMxYmM1YzdhYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ0xvb3BTdGFjay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DTG9vcFN0YWNrLmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiAh
RU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIK
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTEwNyw0ICsxMDcsNCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkK
KyNlbmRpZiAvLyBFTkFCTEUoQ19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0NMb29wU3RhY2tJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaAppbmRleCA5OTdmYWY2NmNjMzc4ODhm
MTZjMmEzNWYwZGI1MjEzNTYzY2RjM2VlLi5mNmJhMTdjYzEwMDc2YzdmNDc5ZDk1ZjY2ZDViZGVk
MmJlYjU1ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
Q0xvb3BTdGFja0lubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvQ0xvb3BTdGFja0lubGluZXMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJDTG9v
cFN0YWNrLmgiCiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCkBAIC01OSw0ICs1OSw0IEBAIGlubGlu
ZSB2b2lkIENMb29wU3RhY2s6OnNldENMb29wU3RhY2tMaW1pdChSZWdpc3RlciogbmV3VG9wT2ZT
dGFjaykKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNl
bmRpZiAvLyBFTkFCTEUoQ19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0VudHJ5RnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9FbnRyeUZyYW1lLmgKaW5kZXggYmU4NDI1OTBmNmU5MGNjZGE2MTQ4ZmM2MGQwMWJiMjY3
YzRhNGM4Ni4uOTUwOTU4ZDkzNjViOGE1NWQ1NWIyOTY4OTc4NmFmYzAzNDNkOGU3NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0VudHJ5RnJhbWUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5oCkBAIC0zMSw3
ICszMSw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogc3RydWN0IEVudHJ5RnJhbWUgewotI2lmIEVO
QUJMRShKSVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAorI2lmICFF
TkFCTEUoQ19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKICAg
ICBzdGF0aWMgcHRyZGlmZl90IHZtRW50cnlSZWNvcmRPZmZzZXQoKQogICAgIHsKICAgICAgICAg
RW50cnlGcmFtZSogZmFrZUVudHJ5RnJhbWUgPSByZWludGVycHJldF9jYXN0PEVudHJ5RnJhbWUq
PigweDEwMDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRl
cnByZXRlci5jcHAKaW5kZXggNzEyNmQwMjlmNjIyM2IyZWEyMDAyNmE5MjY1ZGQ5NTJlYjQwNTI1
NS4uYmJjNjlkYjY5YjFlN2Y5ODQ0YzI3ODE0NjkyZTBiMGRmM2ZkZDdmZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC02Nyw2
ICs2Nyw3IEBACiAjaW5jbHVkZSAiUHJvdG9DYWxsRnJhbWUuaCIKICNpbmNsdWRlICJSZWdFeHBP
YmplY3QuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5oIgorI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZz
ZXRMaXN0LmgiCiAjaW5jbHVkZSAiU2NvcGVkQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU3RhY2tB
bGlnbm1lbnQuaCIKICNpbmNsdWRlICJTdGFja0ZyYW1lLmgiCkBAIC0zMzIsNyArMzMzLDcgQEAg
dm9pZCBzZXR1cEZvcndhcmRBcmd1bWVudHNGcmFtZUFuZFNldFRoaXMoQ2FsbEZyYW1lKiBleGVj
Q2FsbGVyLCBDYWxsRnJhbWUqIGV4ZWMKIAogSW50ZXJwcmV0ZXI6OkludGVycHJldGVyKFZNJiB2
bSkKICAgICA6IG1fdm0odm0pCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkK
ICAgICAsIG1fY2xvb3BTdGFjayh2bSkKICNlbmRpZgogewpAQCAtNTYzLDcgKzU2NCw3IEBAIGNs
YXNzIFVud2luZEZ1bmN0b3IgewogcHJpdmF0ZToKICAgICB2b2lkIGNvcHlDYWxsZWVTYXZlc1Rv
RW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKFN0YWNrVmlzaXRvciYgdmlzaXRvcikgY29uc3QK
ICAgICB7Ci0jaWYgRU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RF
UlMgPiAwCisjaWYgIUVOQUJMRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVH
SVNURVJTID4gMAogICAgICAgICBSZWdpc3RlckF0T2Zmc2V0TGlzdCogY3VycmVudENhbGxlZVNh
dmVzID0gdmlzaXRvci0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygpOwogCiAgICAgICAgIGlmICghY3Vy
cmVudENhbGxlZVNhdmVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuaAppbmRleCAwOGQ2NWJhNWJhZTM3NjAxNmZhNDcxMjkyOGJjNGZiYWVkNDI1
NWZlLi44MTE3NTA2NjIzMjhhNjg3ZjFjNzY5ZWViMTI2NTcxYTEzMjM3Y2NlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaApAQCAtMzYsNyAr
MzYsNyBAQAogI2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KIAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAjaW5jbHVkZSAi
Q0xvb3BTdGFjay5oIgogI2VuZGlmCiAKQEAgLTkzLDcgKzkzLDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIEludGVycHJldGVyKFZNICYpOwogICAgICAgICB+SW50ZXJwcmV0ZXIoKTsKICAg
ICAgICAgCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICAgICAgQ0xv
b3BTdGFjayYgY2xvb3BTdGFjaygpIHsgcmV0dXJuIG1fY2xvb3BTdGFjazsgfQogI2VuZGlmCiAg
ICAgICAgIApAQCAtMTQ3LDcgKzE0Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU1Zh
bHVlIGV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYpOwogCiAgICAgICAgIFZNJiBtX3ZtOwotI2lm
ICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAgICAgICAgIENMb29wU3RhY2sgbV9j
bG9vcFN0YWNrOwogI2VuZGlmCiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAppbmRleCA2MDkxMWFiMWU1N2MxZDUxMjM3
ZDljYzdmNmEwOTY1ZWViMjdhNjI0Li4yZThjOWE2MmIyNmFjYjA0M2VmZTRiYjZmZDBlNDdlNjUw
ZjMxNjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcApAQCAtMjU3LDcgKzI1Nyw3IEBAIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBT
dGFja1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVTYXZlUmVnaXN0ZXJzKCkKICAgICBpZiAoaXNJbmxp
bmVkRnJhbWUoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSNpZiBFTkFCTEUoSklUKSAm
JiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKKyNpZiAhRU5BQkxFKENfTE9P
UCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCiAKICNpZiBFTkFCTEUo
V0VCQVNTRU1CTFkpCiAgICAgaWYgKGlzV2FzbUZyYW1lKCkpIHsKQEAgLTI3Myw3ICsyNzMsNyBA
QCBSZWdpc3RlckF0T2Zmc2V0TGlzdCogU3RhY2tWaXNpdG9yOjpGcmFtZTo6Y2FsbGVlU2F2ZVJl
Z2lzdGVycygpCiAgICAgaWYgKENvZGVCbG9jayogY29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2Nr
KCkpCiAgICAgICAgIHJldHVybiBjb2RlQmxvY2stPmNhbGxlZVNhdmVSZWdpc3RlcnMoKTsKIAot
I2VuZGlmIC8vIEVOQUJMRShKSVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJT
ID4gMAorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVT
X1JFR0lTVEVSUyA+IDAKIAogICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZNRW50cnlSZWNvcmQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9WTUVudHJ5UmVjb3JkLmgKaW5kZXggZWRiN2U3ZThj
OGJiYzI5ODVkMWM0MTVjYTQ1ZTlmNTBlZmM2YzZkMC4uMjFhZTM1YjY5MWRjM2VkZWE5ZmE3ZjBk
N2RhYjU5ZDdjMjZjYWVjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1ZNRW50cnlSZWNvcmQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvVk1FbnRyeVJlY29yZC5oCkBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBWTUVudHJ5UmVj
b3JkIHsKIAogICAgIEpTT2JqZWN0KiBjYWxsZWUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZTsg
fQogCi0jaWYgRU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMg
PiAwCisjaWYgIUVOQUJMRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNU
RVJTID4gMAogICAgIGludHB0cl90IGNhbGxlZVNhdmVSZWdpc3RlcnNCdWZmZXJbTlVNQkVSX09G
X0NBTExFRV9TQVZFU19SRUdJU1RFUlNdOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggMThiZGU0MWNlNGYxNDg5Mzky
ZDU5ZWUyNmNiMjNjMmYyNDRiMjg0Ny4uMDc3ZWQ1ODJlYTk0OGE0MTQxZGRhZTI3N2QwYjQ0ZWQ0
MzUwN2ZiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxl
QWxsb2NhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxs
b2NhdG9yLmgKQEAgLTE0NSw3ICsxNDUsNyBAQCBjbGFzcyBFeGVjdXRhYmxlQWxsb2NhdG9yIHsK
IAogI2Vsc2UKIGlubGluZSBib29sIGlzSklUUEModm9pZCopIHsgcmV0dXJuIGZhbHNlOyB9Ci0j
ZW5kaWYgLy8gRU5BQkxFKEpJVCkgJiYgRU5BQkxFKEFTU0VNQkxFUikKKyNlbmRpZiAvLyBFTkFC
TEUoQVNTRU1CTEVSKQogCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9GUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0ZQUkluZm8uaAppbmRleCBhMjRkMWNiNzVhM2ZmOTliNjM4OTVlYmJkMTc5YWU2MTQyZGE1NmVj
Li40OGY0MDIyZWRlM2E3YjI3OGI4ZWI1MWM2ZmU4YTNkN2MyMTcyYjZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0ZQUkluZm8uaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIHR5
cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkZQUmVnaXN0ZXJJRCBGUFJSZWc7CiBzdGF0aWMgY29uc3Rl
eHByIEZQUlJlZyBJbnZhbGlkRlBSUmVnIHsgRlBSUmVnOjpJbnZhbGlkRlBSUmVnIH07CiAKLSNp
ZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpZiBDUFUoWDg2KSB8fCBD
UFUoWDg2XzY0KQogCkBAIC0zMzIsNyArMzMyLDcgQEAgY2xhc3MgRlBSSW5mbyB7CiAvLyBXZSB1
c2UgdGhpcyBoYWNrIHRvIGdldCB0aGUgRlBSSW5mbyBmcm9tIHRoZSBGUFJSZWcgdHlwZSBpbiB0
ZW1wbGF0ZXMgYmVjYXVzZSBvdXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVsIGJhZC4u
CiBjb25zdGV4cHIgRlBSSW5mbyB0b0luZm9Gcm9tUmVnKEZQUlJlZykgeyByZXR1cm4gRlBSSW5m
bygpOyB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJM
RVIpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCkBAIC0zNDAsNyArMzQwLDcgQEAgbmFtZXNwYWNl
IFdURiB7CiAKIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlND
OjpGUFJSZWcgcmVnKQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikK
ICAgICBvdXQucHJpbnQoIiUiLCBKU0M6OkZQUkluZm86OmRlYnVnTmFtZShyZWcpKTsKICNlbHNl
CiAgICAgb3V0LnByaW50ZigiJSVmciVkIiwgcmVnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvR1BSSW5mby5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQ
UkluZm8uY3BwCmluZGV4IDVhODAwNWY5Yjg1ZDFjMGNmOThlMGMzMDNmZTkxYWE1MTZkNTk5MmYu
LmFmOGUzNTgwNzRjZDQ1MzM4ZDQ2NTQ5MWE1MmUwMjFhODcwN2JmZWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HUFJJbmZvLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxF
KEFTU0VNQkxFUikKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQ4LDQgKzQ4LDQgQEAgY29uc3Qg
R1BSUmVnIEdQUkluZm86OnBhdGNocG9pbnRTY3JhdGNoUmVnaXN0ZXIgPSBBUk02NFJlZ2lzdGVy
czo6aXAwOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgK
aW5kZXggMmQzNzRlM2I4NTlkM2RhYzc2ZmI4ZjRkZmMwOGExMGYxMzAwZTg3NC4uODA1NDQ5Zjdi
MTU3ZjIxMzRhNzFkM2Q5OGFmMzhlNjk5MWZmNzQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9H
UFJJbmZvLmgKQEAgLTQxLDcgKzQxLDcgQEAgZW51bSBOb1Jlc3VsdFRhZyB7IE5vUmVzdWx0IH07
CiB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIEdQUlJlZzsKIHN0YXRpYyBjb25z
dGV4cHIgR1BSUmVnIEludmFsaWRHUFJSZWcgeyBHUFJSZWc6OkludmFsaWRHUFJSZWcgfTsKIAot
I2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2lmIFVTRShKU1ZBTFVF
NjQpCiBjbGFzcyBKU1ZhbHVlUmVncyB7CkBAIC04MTYsNyArODE2LDcgQEAgaW5saW5lIE5vUmVz
dWx0VGFnIGV4dHJhY3RSZXN1bHQoTm9SZXN1bHRUYWcpIHsgcmV0dXJuIE5vUmVzdWx0OyB9CiAv
LyBXZSB1c2UgdGhpcyBoYWNrIHRvIGdldCB0aGUgR1BSSW5mbyBmcm9tIHRoZSBHUFJSZWcgdHlw
ZSBpbiB0ZW1wbGF0ZXMgYmVjYXVzZSBvdXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVs
IGJhZC4uCiBjb25zdGV4cHIgR1BSSW5mbyB0b0luZm9Gcm9tUmVnKEdQUlJlZykgeyByZXR1cm4g
R1BSSW5mbygpOyB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShB
U1NFTUJMRVIpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCkBAIC04MjQsNyArODI0LDcgQEAgbmFt
ZXNwYWNlIFdURiB7CiAKIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91
dCwgSlNDOjpHUFJSZWcgcmVnKQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VN
QkxFUikKICAgICBvdXQucHJpbnQoIiUiLCBKU0M6OkdQUkluZm86OmRlYnVnTmFtZShyZWcpKTsK
ICNlbHNlCiAgICAgb3V0LnByaW50ZigiJSVyJWQiLCByZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5jcHAKaW5kZXggZThkMDE5MTZiOWM1
OTA0Nzk1Y2NjNWRiNmM0ZTZjZTgzNjExMTMwMi4uMTM3NWJiOTJjYzBkZWJiY2I3ZWFlZTAyNThk
YjEwZjJmYmQ5NTgxMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0
Q2FsbFJldHVyblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RD
YWxsUmV0dXJuVmFsdWUuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogCisjaWYgIUVOQUJMRShDX0xPT1Ap
CisKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC0zNSw3ICszNywxMDkgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKLS8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuCisvLyBOb3RlOiBnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSgpIG5lZWRzIHRvIGJlIHBsYWNlZCBiZWZvcmUgdGhlCisv
LyBkZWZpbml0aW9uIG9mIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUoKSBiZWxvdyBiZWNhdXNlIHRo
ZSBXaW5kb3dzIGJ1aWxkCisvLyByZXF1aXJlcyBpdC4KK2V4dGVybiAiQyIgRW5jb2RlZEpTVmFs
dWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
dGhFeGVjU3RhdGUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGlmICghZXhlYykKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoZXhlYy0+dm0oKS5ob3N0Q2FsbFJldHVyblZhbHVlKTsKK30KKworI2lmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykgJiYgQ1BVKFg4Nl82NCkKK2FzbSAoCisiLmdsb2JsICIgU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2Fs
bFJldHVyblZhbHVlKSAiXG4iCitTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUp
ICI6IiAiXG4iCisgICAgImxlYSAtOCglcnNwKSwgJXJkaVxuIgorICAgICJqbXAgIiBMT0NBTF9S
RUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKKyk7CisK
KyNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKFg4NikKK2FzbSAoCisiLnRleHQi
ICJcbiIgXAorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkg
IlxuIgorSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgorICAgICJwdXNoICVlYnBcbiIK
KyAgICAibW92ICVlc3AsICVlYXhcbiIKKyAgICAibGVhbCAtNCglZXNwKSwgJWVzcFxuIgorICAg
ICJwdXNoICVlYXhcbiIKKyAgICAiY2FsbCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorICAgICJsZWFsIDgoJWVzcCksICVlc3BcbiIK
KyAgICAicG9wICVlYnBcbiIKKyAgICAicmV0XG4iCispOworCisjZWxpZiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpICYmIENQVShBUk1fVEhVTUIyKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5hbGln
biAyIiAiXG4iCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCisiLnRodW1i
IiAiXG4iCisiLnRodW1iX2Z1bmMgIiBUSFVNQl9GVU5DX1BBUkFNKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJc
biIKKyAgICAic3ViIHIwLCBzcCwgIzgiICJcbiIKKyAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorKTsKKworI2VsaWYgQ09N
UElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorYXNtICgKKyIudGV4
dCIgIlxuIgorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkg
IlxuIgorSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSU5MSU5FX0FS
TV9GVU5DVElPTihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKQorU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgorICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgorICAg
ICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KSAiXG4iCispOworCisjZWxpZiBDUFUoQVJNNjQpCithc20gKAorIi50ZXh0IiAiXG4iCisiLmFs
aWduIDIiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFs
dWUpICJcbiIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJP
TF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICAgInN1YiB4MCwg
c3AsICMxNiIgIlxuIgorICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVy
blZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorKTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKSAmJiBDUFUoTUlQUykKKworI2lmIFdURl9NSVBTX1BJQworI2RlZmluZSBMT0FEX0ZVTkNU
SU9OX1RPX1Q5KGZ1bmN0aW9uKSBcCisgICAgICAgICIuc2V0IG5vcmVvcmRlciIgIlxuIiBcCisg
ICAgICAgICIuY3Bsb2FkICQyNSIgIlxuIiBcCisgICAgICAgICIuc2V0IHJlb3JkZXIiICJcbiIg
XAorICAgICAgICAibGEgJHQ5LCAiIExPQ0FMX1JFRkVSRU5DRShmdW5jdGlvbikgIlxuIgorI2Vs
c2UKKyNkZWZpbmUgTE9BRF9GVU5DVElPTl9UT19UOShmdW5jdGlvbikgIiIgIlxuIgorI2VuZGlm
CisKK2FzbSAoCisiLnRleHQiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RD
YWxsUmV0dXJuVmFsdWUpICJcbiIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUp
ICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAg
ICBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KQorICAgICJhZGRpICRhMCwgJHNwLCAtOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJFTkNF
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxpZiBD
T01QSUxFUihNU1ZDKSAmJiBDUFUoWDg2KQorZXh0ZXJuICJDIiB7CisgICAgX19kZWNsc3BlYyhu
YWtlZCkgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSgpCisgICAgeworICAgICAgICBfX2FzbSBsZWEgZWF4LCBbZXNwIC0g
NF0KKyAgICAgICAgX19hc20gbW92IFtlc3AgKyA0XSwgZWF4OworICAgICAgICBfX2FzbSBqbXAg
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUKKyAgICB9Cit9CisjZW5kaWYKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCiAKKyNlbmRpZiAvLyAhRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKaW5kZXggNjJlYjJh
NTY2Yjk4MTAyMDI3NzIzYTI3MjZhZWY0NzI2YWViZDZjZS4uZDIxMWQxNGQ4Njk0Y2UwNWQ5OGI0
ZDM2MDM0Y2RjNmZiOTEyNDcyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9I
b3N0Q2FsbFJldHVyblZhbHVlLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkpTQ0pT
VmFsdWUuaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAKICNpZiBD
QUxMSU5HX0NPTlZFTlRJT05fSVNfU1REQ0FMTAogI2RlZmluZSBIT1NUX0NBTExfUkVUVVJOX1ZB
TFVFX09QVElPTiBDREVDTApAQCAtNTcsNCArNTcsNCBAQCBpbmxpbmUgdm9pZCBpbml0aWFsaXpl
SG9zdENhbGxSZXR1cm5WYWx1ZSgpIHsgfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlm
IC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBiMmViNDE4Y2ZmODlkNTIzMDIy
YTYxYWRiMGI4YmU0ZjY4ODAyZTYyLi43YWFjZjZiMWMxNmY5MjE1YTJkODY1ODY2ZjNkMmMzYTg5
MWQ0ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAK
QEAgLTI5MDgsMTA5ICsyOTA4LDYgQEAgaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNo
ZWNrSWZFeGNlcHRpb25Jc1VuY2F0Y2hhYmxlQW5kTm90aWZ5UHJvZmlsZXIoRXgKIAogfSAvLyBl
eHRlcm4gIkMiCiAKLS8vIE5vdGU6IGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KCkgbmVlZHMgdG8gYmUgcGxhY2VkIGJlZm9yZSB0aGUKLS8vIGRlZmluaXRpb24gb2YgZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSgpIGJlbG93IGJlY2F1c2UgdGhlIFdpbmRvd3MgYnVpbGQKLS8vIHJl
cXVpcmVzIGl0LgotZXh0ZXJuICJDIiBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZB
TFVFX09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVjU3RhdGUq
IGV4ZWMpCi17Ci0gICAgaWYgKCFleGVjKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEpTVmFsdWUoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShleGVjLT52bSgpLmhvc3RD
YWxsUmV0dXJuVmFsdWUpOwotfQotCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUo
WDg2XzY0KQotYXNtICgKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLVNZ
TUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKLSAgICAibGVhIC04
KCVyc3ApLCAlcmRpXG4iCi0gICAgImptcCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoR0NDX09S
X0NMQU5HKSAmJiBDUFUoWDg2KQotYXNtICgKLSIudGV4dCIgIlxuIiBcCi0iLmdsb2JsICIgU1lN
Qk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRI
b3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1TWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICI6IiAiXG4iCi0gICAgInB1c2ggJWVicFxuIgotICAgICJtb3YgJWVzcCwgJWVheFxu
IgotICAgICJsZWFsIC00KCVlc3ApLCAlZXNwXG4iCi0gICAgInB1c2ggJWVheFxuIgotICAgICJj
YWxsICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KSAiXG4iCi0gICAgImxlYWwgOCglZXNwKSwgJWVzcFxuIgotICAgICJwb3AgJWVicFxuIgotICAg
ICJyZXRcbiIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9U
SFVNQjIpCi1hc20gKAotIi50ZXh0IiAiXG4iCi0iLmFsaWduIDIiICJcbiIKLSIuZ2xvYmwgIiBT
WU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLSIudGh1bWIiICJcbiIKLSIudGh1bWJfZnVuYyAi
IFRIVU1CX0ZVTkNfUEFSQU0oZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAgICJzdWIgcjAsIHNwLCAj
OCIgIlxuIgotICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVX
aXRoRXhlY1N0YXRlKSAiXG4iCi0pOwotCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYm
IENQVShBUk1fVFJBRElUSU9OQUwpCi1hc20gKAotIi50ZXh0IiAiXG4iCi0iLmdsb2JsICIgU1lN
Qk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRI
b3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1JTkxJTkVfQVJNX0ZVTkNUSU9OKGdldEhvc3RDYWxs
UmV0dXJuVmFsdWUpCi1TWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAi
XG4iCi0gICAgInN1YiByMCwgc3AsICM4IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0Uo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENQ
VShBUk02NCkKLWFzbSAoCi0iLnRleHQiICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotIi5nbG9ibCAi
IFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0wo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiOiIgIlxuIgotICAgICAic3ViIHgwLCBzcCwgIzE2IiAiXG4iCi0gICAgICJi
ICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAi
XG4iCi0pOwotCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShNSVBTKQotCi0j
aWYgV1RGX01JUFNfUElDCi0jZGVmaW5lIExPQURfRlVOQ1RJT05fVE9fVDkoZnVuY3Rpb24pIFwK
LSAgICAgICAgIi5zZXQgbm9yZW9yZGVyIiAiXG4iIFwKLSAgICAgICAgIi5jcGxvYWQgJDI1IiAi
XG4iIFwKLSAgICAgICAgIi5zZXQgcmVvcmRlciIgIlxuIiBcCi0gICAgICAgICJsYSAkdDksICIg
TE9DQUxfUkVGRVJFTkNFKGZ1bmN0aW9uKSAiXG4iCi0jZWxzZQotI2RlZmluZSBMT0FEX0ZVTkNU
SU9OX1RPX1Q5KGZ1bmN0aW9uKSAiIiAiXG4iCi0jZW5kaWYKLQotYXNtICgKLSIudGV4dCIgIlxu
IgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgot
SElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAgIExPQURfRlVOQ1RJT05fVE9fVDko
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpCi0gICAgImFkZGkgJGEwLCAkc3As
IC04IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZVdpdGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKE1TVkMpICYmIENQVShY
ODYpCi1leHRlcm4gIkMiIHsKLSAgICBfX2RlY2xzcGVjKG5ha2VkKSBFbmNvZGVkSlNWYWx1ZSBI
T1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkKLSAg
ICB7Ci0gICAgICAgIF9fYXNtIGxlYSBlYXgsIFtlc3AgLSA0XQotICAgICAgICBfX2FzbSBtb3Yg
W2VzcCArIDRdLCBlYXg7Ci0gICAgICAgIF9fYXNtIGptcCBnZXRIb3N0Q2FsbFJldHVyblZhbHVl
V2l0aEV4ZWNTdGF0ZQotICAgIH0KLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAog
I2VuZGlmIC8vIEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zTVNWQzY0LmNwcAppbmRleCA1NDRiY2EzOTQ2YzE5NDVlYzAwM2IyYzBkNTMx
ZTYwNzVlOTIzYzg0Li4wYTM3YmY3NmMxZjI2ZTkzMGJiOGY2NmZmMWZmZTRlNThjODY2MjNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9uc01TVkM2NC5j
cHAKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgIUVOQUJM
RShKSVQpICYmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODZfNjQpCisjaWYgRU5BQkxFKENfTE9P
UCkgJiYgQ09NUElMRVIoTVNWQykgJiYgQ1BVKFg4Nl82NCkKIAogI2luY2x1ZGUgIkNhbGxGcmFt
ZS5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTQzLDQgKzQzLDQgQEAgZXh0ZXJuICJD
IiBFbmNvZGVkSlNWYWx1ZSBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVj
U3RhdGUqKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKSAm
JiBDT01QSUxFUihNU1ZDKSAmJiBDUFUoWDg2XzY0KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1Ap
ICYmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODZfNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5j
cHAKaW5kZXggNGFhOTY1Mzc0NzQxODRiMTEzNDAxYWUwY2NkOTQ4MWUyMjc1MTA0Yi4uM2NjNDlj
MDNkODY4ODlkNGM0Y2RhMGU3ZTM3ZTJiOWFhMjQwMWJmYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlJlZy5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5j
bHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKQEAgLTU0LDUgKzU0LDUgQEAg
dm9pZCBSZWc6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIp
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZy5oCmluZGV4IDg0YWUzNTkwNDc2OGNmYTFmZTBkMjdhYzVl
ZTU2MDY1M2Q3ODhiMDcuLjlkMjQ2YWRlNWJjNzEwNTAwYjdmNzE3Mzk2ZDEyMTdiM2VkMjBmNWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWcuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUg
Ik1hY3JvQXNzZW1ibGVyLmgiCiAKQEAgLTI0NSw0ICsyNDUsNCBAQCB0ZW1wbGF0ZTw+IHN0cnVj
dCBIYXNoVHJhaXRzPEpTQzo6UmVnPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlJlZz4g
ewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYg
Ly8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVnaXN0ZXJBdE9mZnNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lz
dGVyQXRPZmZzZXQuY3BwCmluZGV4IDE2YTYzOWNhOGM3OTYyNjBlZjM1NzYwNTYxOTQ3NzU5ZTFl
ZTI1OGUuLjBlNDRlMmRiMTFlODA1ZDA0M2UzMGRjZjE0Mjg5NWVhMGM4YTVkNzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcApAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZzZXQu
aCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogbmFtZXNwYWNl
IEpTQyB7CiAKQEAgLTQxLDUgKzQxLDUgQEAgdm9pZCBSZWdpc3RlckF0T2Zmc2V0OjpkdW1wKFBy
aW50U3RyZWFtJiBvdXQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8g
RU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5oCmluZGV4IDBkYjhkYTRhNzI2MWI4Yjhi
NzAwYzEwM2ZiMzUyYjhlNWFlMmIyZjMuLmNkNDE1YjZkNjY5ZjkzOWZmMWQzNWNmMzFjN2NkN2I0
YTIwZTkyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJB
dE9mZnNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNl
dC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkK
KyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiUmVnLmgiCiAjaW5jbHVkZSA8d3Rm
L1ByaW50U3RyZWFtLmg+CkBAIC03NCw0ICs3NCw0IEBAIGNsYXNzIFJlZ2lzdGVyQXRPZmZzZXQg
ewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYg
Ly8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAKaW5kZXggZGQ1YjViMzJmMzdhZDBkZGJhM2M3M2JhNThh
NTA3NmQzZTI5OTQ0OC4uNmZlMDZlNzc2MmI0YTQ3OWRkMDUxNDY4NjBhYWU5YjRkZDFhM2ZiZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlz
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlz
dC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJS
ZWdpc3RlckF0T2Zmc2V0TGlzdC5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNT
RU1CTEVSKQogCiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+CiAKQEAgLTY4LDUgKzY4LDUgQEAg
dW5zaWduZWQgUmVnaXN0ZXJBdE9mZnNldExpc3Q6OmluZGV4T2YoUmVnIHJlZykgY29uc3QKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVO
QUJMRShBU1NFTUJMRVIpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnaXN0ZXJBdE9mZnNldExpc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0
ZXJBdE9mZnNldExpc3QuaAppbmRleCBlMGIyNTQxYWI4ZGM5MjNmZjcxZWQ0ODg3NjQ1MDYwNzVj
M2I5ZTNjLi41ZTNhM2NiMmNlMDI5MzQxMTk1N2Y2ODk5MzM5ZDY3N2Y0YTlmNDU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFC
TEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldC5oIgogI2luY2x1ZGUg
IlJlZ2lzdGVyU2V0LmgiCkBAIC02OSw0ICs2OSw0IEBAIGNsYXNzIFJlZ2lzdGVyQXRPZmZzZXRM
aXN0IHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlZ2lzdGVyTWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVy
TWFwLmgKaW5kZXggMGYzZjk1NzRmMWY5NWU2ZTAyZjhiYTQ3MTQxMDNmOGRiMTgyZGQ1Yi4uNWE3
Nzk3N2NhYTkxMmEwOTVlZGI2OGM3MDI0NTRkOWFmMThiYTAyZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3Rlck1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVnaXN0ZXJNYXAuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkZQ
UkluZm8uaCIKICNpbmNsdWRlICJHUFJJbmZvLmgiCkBAIC0xMDcsNCArMTA3LDQgQEAgY2xhc3Mg
RlBSTWFwIHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQor
I2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVn
aXN0ZXJTZXQuY3BwCmluZGV4IDg1MjU2ZjdiMTQ2MjU5OWFlYWVjNjdkOWUwNzg0MmRlNGM2MTVj
MTguLmE2MDIxNDFhYTg2NjFkZGFiZTkwMWIyZjQyNDQ5Y2VkMzlmZWU1NjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXJTZXQuaCIKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkdQUkluZm8uaCIKICNpbmNs
dWRlICJKU0NJbmxpbmVzLmgiCkBAIC0zOTUsNSArMzk1LDUgQEAgdm9pZCBSZWdpc3RlclNldDo6
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2Vu
ZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oCmluZGV4IGM4N2VhZjhjM2I1M2JjYzhmMzBj
MWNhZTg5Nzg2MDNkNGRjMGRjMjUuLmE2MTg4NTI5ZWRkMGNlNTFmZmVkMTFhNjIwYjM4YzA3ZTRl
MDExOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKQEAgLTI1LDcg
KzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUo
Q19MT09QKQogCiAjaW5jbHVkZSAiR1BSSW5mby5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVy
LmgiCkBAIC0yNDYsNCArMjQ2LDQgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6
OlJlZ2lzdGVyU2V0PiA6IHB1YmxpYyBDdXN0b21IYXNoVHJhaXRzPEpTQzo6UmUKIAogfSAvLyBu
YW1lc3BhY2UgV1RGCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUo
Q19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0
ZXJTZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3Bw
CmluZGV4IDljMmU3M2Q0MzJiNmNhNmRiYWE1NmJiMDVlOGE5YjdmMjg0ODJmZDUuLjNmMzUyMWVh
MjYxNTZhN2QwYzFiNGMyZmNjNWJjMGJhZmYzNDA2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5jcHAKQEAgLTI2LDkgKzI2LDggQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJUZW1wUmVnaXN0ZXJTZXQuaCIKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAotI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNp
bmNsdWRlICJSZWdpc3RlclNldC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTUxLDQgKzUwLDQg
QEAgVGVtcFJlZ2lzdGVyU2V0OjpUZW1wUmVnaXN0ZXJTZXQoY29uc3QgUmVnaXN0ZXJTZXQmIG90
aGVyKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5k
aWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBS
ZWdpc3RlclNldC5oCmluZGV4IDk5ODMyMjllZmFmYzQzZmU5MTcyNTZjODdkZGNlZTliMDgyNWZk
ZjUuLjY2MzgzZjU5Zjg4NTYyYWJjYmIwZjk1NjlhNDE1MzAwM2Q4MWI3MWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuaApAQCAtMjUsNyArMjUsNyBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikK
IAogI2luY2x1ZGUgIkZQUkluZm8uaCIKICNpbmNsdWRlICJHUFJJbmZvLmgiCkBAIC0yMDUsNyAr
MjA1LDcgQEAgY2xhc3MgVGVtcFJlZ2lzdGVyU2V0IHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
LSNlbHNlIC8vIEVOQUJMRShKSVQpIC0+IHNvIGlmIEpJVCBpcyBkaXNhYmxlZAorI2Vsc2UgLy8g
RU5BQkxFKEFTU0VNQkxFUikgLT4gc28gaWYgSklUIGlzIGRpc2FibGVkCiAKIG5hbWVzcGFjZSBK
U0MgewogCkBAIC0yMTYsNCArMjE2LDQgQEAgc3RydWN0IFRlbXBSZWdpc3RlclNldCB7IH07CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBF
TkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50Q0xvb3AuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3Au
Y3BwCmluZGV4IGUzYzZjNmNlOTdlNWZkYTcwODk4OWI3ODFlZDM3NjI1ZjA5N2JjYzkuLmM4NGIx
ODljZjJjZGY4ZDRkNTIxMDEyZjExNDZiOTk4OGY0ZWZkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludENMb29wLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRDTG9vcC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJMTEludENMb29wLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNp
ZiBFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiTExJbnREYXRhLmgiCiAKQEAgLTQxLDQgKzQx
LDQgQEAgdm9pZCBDTG9vcDo6aW5pdGlhbGl6ZSgpCiB9IC8vIG5hbWVzcGFjZSBMTEludAogfSAv
LyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFC
TEUoQ19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
Q0xvb3AuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludENMb29wLmgKaW5kZXgg
YTMxNTkxNDU1MWZiMGQ4Y2M2MTJiZWNkZGM0OGY5ZmNjYWNjMDVlMi4uMDJiMmYyNGRjYjAxYzdl
ZjlkZGM1MDE2ODQ1NGZjZThlOTI4YWU2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50Q0xvb3AuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRDTG9vcC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgIUVO
QUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIK
ICNpbmNsdWRlICJPcGNvZGUuaCIKQEAgLTQ0LDQgKzQ0LDQgQEAgY2xhc3MgQ0xvb3AgewogCiB1
c2luZyBKU0M6OkxMSW50OjpDTG9vcDsKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlm
IC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnREYXRhLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEu
Y3BwCmluZGV4IDQxZjY0YjRhZmEzMWU4MTljZjU0YjlmYmNkODA4M2Y1YTMxMzZlNmYuLjBkZDA0
NTQzMzQ3OTc3YzU2NzNiZmVlYmRlMzhiOGM1MjFkMjdkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludERhdGEuY3BwCkBAIC00NiwxNiArNDYsMTYgQEAgbmFtZXNwYWNlIEpT
QyB7IG5hbWVzcGFjZSBMTEludCB7CiBJbnN0cnVjdGlvbiBEYXRhOjpzX2V4Y2VwdGlvbkluc3Ry
dWN0aW9uc1ttYXhPcGNvZGVMZW5ndGggKyAxXSA9IHsgfTsKIE9wY29kZSBEYXRhOjpzX29wY29k
ZU1hcFtudW1PcGNvZGVJRHNdID0geyB9OwogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxF
KENfTE9PUCkKIGV4dGVybiAiQyIgdm9pZCBsbGludF9lbnRyeSh2b2lkKik7CiAjZW5kaWYKIAog
dm9pZCBpbml0aWFsaXplKCkKIHsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09Q
KQogICAgIENMb29wOjppbml0aWFsaXplKCk7CiAKLSNlbHNlIC8vIEVOQUJMRShKSVQpCisjZWxz
ZSAvLyAhRU5BQkxFKENfTE9PUCkKICAgICBsbGludF9lbnRyeSgmRGF0YTo6c19vcGNvZGVNYXAp
OwogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1PcGNvZGVJRHM7ICsraSkKQEAgLTY0LDcg
KzY0LDcgQEAgdm9pZCBpbml0aWFsaXplKCkKICAgICB2b2lkKiBoYW5kbGVyID0gRGF0YTo6c19v
cGNvZGVNYXBbbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZV07CiAgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBtYXhPcGNvZGVMZW5ndGggKyAxOyArK2kpCiAgICAgICAgIERhdGE6
OnNfZXhjZXB0aW9uSW5zdHJ1Y3Rpb25zW2ldLnUucG9pbnRlciA9IGhhbmRsZXI7Ci0jZW5kaWYg
Ly8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQ19MT09QKQogfQogCiBJR05PUkVfQ0xB
TkdfV0FSTklOR1NfQkVHSU4oIm1pc3Npbmctbm9yZXR1cm4iKQpAQCAtMTI1LDcgKzEyNSw3IEBA
IHZvaWQgRGF0YTo6cGVyZm9ybUFzc2VydGlvbnMoVk0mIHZtKQogICAgIFNUQVRJQ19BU1NFUlQo
VmFsdWVVbmRlZmluZWQgPT0gKFRhZ0JpdFR5cGVPdGhlciB8IFRhZ0JpdFVuZGVmaW5lZCkpOwog
ICAgIFNUQVRJQ19BU1NFUlQoVmFsdWVOdWxsID09IFRhZ0JpdFR5cGVPdGhlcik7CiAjZW5kaWYK
LSNpZiAoQ1BVKFg4Nl82NCkgJiYgIU9TKFdJTkRPV1MpKSB8fCBDUFUoQVJNNjQpIHx8ICFFTkFC
TEUoSklUKQorI2lmIChDUFUoWDg2XzY0KSAmJiAhT1MoV0lORE9XUykpIHx8IENQVShBUk02NCkg
fHwgIUVOQUJMRShBU1NFTUJMRVIpCiAgICAgU1RBVElDX0FTU0VSVCghbWF4RnJhbWVFeHRlbnRG
b3JTbG93UGF0aENhbGwpOwogI2VsaWYgQ1BVKEFSTSkKICAgICBTVEFUSUNfQVNTRVJUKG1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID09IDI0KTsKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lk
IERhdGE6OnBlcmZvcm1Bc3NlcnRpb25zKFZNJiB2bSkKICAgICBTVEFUSUNfQVNTRVJUKG1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID09IDY0KTsKICNlbmRpZgogCi0jaWYgIUVOQUJMRShK
SVQpIHx8IFVTRShKU1ZBTFVFMzJfNjQpCisjaWYgRU5BQkxFKENfTE9PUCkgfHwgVVNFKEpTVkFM
VUUzMl82NCkKICAgICBBU1NFUlQoIUNvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVT
cGFjZUFzVmlydHVhbFJlZ2lzdGVycygpKTsKICNlbGlmIChDUFUoWDg2XzY0KSAmJiAhT1MoV0lO
RE9XUykpICB8fCBDUFUoQVJNNjQpCiAgICAgQVNTRVJUKENvZGVCbG9jazo6bGxpbnRCYXNlbGlu
ZUNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpID09IDMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50RGF0YS5oCmluZGV4IGJlNThjMDBhZTVjNjZhYzMwNTgxYWUzZDQ4
NDk0MjhlNWJiMzAxZDAuLjljYTU3MTUyN2MwY2IyNDI0MGU3YjY3NjlkN2JjN2M5NGQ5MDc1MDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBWTTsKIHN0cnVjdCBJbnN0cnVjdGlvbjsKIAotI2lm
ICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiB0eXBlZGVmIE9wY29kZUlEIExMSW50
Q29kZTsKICNlbHNlCiB0eXBlZGVmIHZvaWQgKCpMTEludENvZGUpKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgKaW5kZXggYTY0
MzdkNDAzYTQwYTk5MWY5NTU4ZTZlM2Y0MDc5M2M3ZGVjNzkyMy4uYmE2ZDUxNmQ1ZjNmODFhMDcz
N2I5NjIyNjllYzM2YjA3MjlmYzJjZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1
ZGUgPHd0Zi9HaWdhY2FnZS5oPgogI2luY2x1ZGUgPHd0Zi9Qb2lzb25lZC5oPgogCi0jaWYgIUVO
QUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICNkZWZpbmUgT0ZGTElORV9BU01fQ19MT09Q
IDEKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2IDAKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2X1dJ
TiAwCkBAIC00NSw3ICs0NSw3IEBACiAjZGVmaW5lIE9GRkxJTkVfQVNNX0FSTXY3cyAwCiAjZGVm
aW5lIE9GRkxJTkVfQVNNX01JUFMgMAogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2Vsc2UgLy8g
RU5BQkxFKENfTE9PUCkKIAogI2RlZmluZSBPRkZMSU5FX0FTTV9DX0xPT1AgMAogCkBAIC0xMzcs
NyArMTM3LDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKICNpZiBVU0UoSlNWQUxVRTY0KQogI2RlZmluZSBPRkZM
SU5FX0FTTV9KU1ZBTFVFNjQgMQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50T3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPcGNv
ZGUuaAppbmRleCA4NTkwNWUzNzA0MzgyMzc4M2JkZjdiZmVjMTQ1NjdkMTQxMTVjMTg1Li44NGE5
ZmMyMTUwOTcxZGNiYjNhYzBjYjE2MWRmNmYzYjM4M2I2YzIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPcGNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRPcGNvZGUuaApAQCAtMjUsMTcgKzI1LDE3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2RlZmluZSBG
T1JfRUFDSF9MTElOVF9OT0pJVF9OQVRJVkVfSEVMUEVSKG1hY3JvKSBcCiAgICAgRk9SX0VBQ0hf
Q0xPT1BfQllURUNPREVfSEVMUEVSX0lEKG1hY3JvKQogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQor
I2Vsc2UgLy8gIUVOQUJMRShDX0xPT1ApCiAKICNkZWZpbmUgRk9SX0VBQ0hfTExJTlRfTk9KSVRf
TkFUSVZFX0hFTFBFUihtYWNybykgXAotICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVXNlIHRo
ZSBKSVQgaW1wbCBpbnN0ZWFkLgorICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVXNlIHRoZSBM
TEludCBBU00gLyBKSVQgaW1wbCBpbnN0ZWFkLgogCi0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKIAogCiAjZGVmaW5lIEZPUl9FQUNIX0xMSU5UX05BVElW
RV9IRUxQRVIobWFjcm8pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFBDUmFuZ2VzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRQQ1Jh
bmdlcy5oCmluZGV4IDk0MjE4NWU4MjQ0NmU5YzI3YzhmNWZmMTQzZWVhNjA4NTUxOWFhNjMuLjgy
YmRjNTU5YjhhYjM4ZjdlODUyOTYyZjcyOWI5ZDlkOWNlNzM3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFBDUmFuZ2VzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50UENSYW5nZXMuaApAQCAtNDYsNyArNDYsNyBAQCBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNMTEludFBDKHZvaWQqIHBjKQogICAgIHJldHVybiBsbGludFN0YXJ0IDw9
IHBjQXNJbnQgJiYgcGNBc0ludCA8PSBsbGludEVuZDsKIH0KIAotI2lmIEVOQUJMRShKSVQpCisj
aWYgIUVOQUJMRShDX0xPT1ApCiBzdGF0aWMgY29uc3QgR1BSUmVnIExMSW50UEMgPSBHUFJJbmZv
OjpyZWdUNDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcAppbmRleCAzYzVmOWEyOTQyYjMwMDNmZTQyMTM4ZjdlNGRkYzNlYTBkZWVi
N2M0Li5jMWMyYzY3NDZhZTNhNTU3ZmNhM2U0ZGQ3ZjlkYTRkZTdhMjM5M2RhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTUzNiw3ICs1
MzYsNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzdGFja19jaGVjaykKICAgICAgICAgc2xvd1Bh
dGhMb2dGKCJOdW0gdmFycyA9ICV1LlxuIiwgY29kZUJsb2NrLT5udW1WYXJzKCkpOwogICAgIH0K
ICAgICBzbG93UGF0aExvZ0YoIkN1cnJlbnQgT1Mgc3RhY2sgZW5kIGlzIGF0ICVwLlxuIiwgdm0u
c29mdFN0YWNrTGltaXQoKSk7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkK
ICAgICBzbG93UGF0aExvZ0YoIkN1cnJlbnQgQyBMb29wIHN0YWNrIGVuZCBpcyBhdCAlcC5cbiIs
IHZtLmNsb29wU3RhY2tMaW1pdCgpKTsKICNlbmRpZgogCkBAIC01NDcsNyArNTQ3LDcgQEAgTExJ
TlRfU0xPV19QQVRIX0RFQ0woc3RhY2tfY2hlY2spCiAgICAgLy8gRm9yIEpJVCBlbmFibGVkIGJ1
aWxkcyB3aGljaCB1c2VzIHRoZSBDIHN0YWNrLCB0aGUgc3RhY2sgaXMgbm90IGdyb3dhYmxlLgog
ICAgIC8vIEhlbmNlLCBpZiB3ZSBnZXQgaGVyZSwgdGhlbiB3ZSBrbm93IGEgc3RhY2sgb3ZlcmZs
b3cgaXMgaW1taW5lbnQuIFNvLCBqdXN0CiAgICAgLy8gdGhyb3cgdGhlIFN0YWNrT3ZlcmZsb3dF
cnJvciB1bmNvbmRpdGlvbmFsbHkuCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9P
UCkKICAgICBSZWdpc3RlciogdG9wT2ZGcmFtZSA9IGV4ZWMtPnRvcE9mRnJhbWUoKTsKICAgICBp
ZiAoTElLRUxZKHRvcE9mRnJhbWUgPCByZWludGVycHJldF9jYXN0PFJlZ2lzdGVyKj4oZXhlYykp
KSB7CiAgICAgICAgIEFTU0VSVCghdm0uaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5jb250YWlu
c0FkZHJlc3ModG9wT2ZGcmFtZSkpOwpAQCAtMTg2MSw3ICsxODYxLDcgQEAgZXh0ZXJuICJDIiBT
bG93UGF0aFJldHVyblR5cGUgbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3dfZXJyb3IoVk0qIHZt
LCBQcm90b0NhbGwKICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogfQogCi0jaWYgIUVO
QUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5U
eXBlIGxsaW50X3N0YWNrX2NoZWNrX2F0X3ZtX2VudHJ5KFZNKiB2bSwgUmVnaXN0ZXIqIG5ld1Rv
cE9mU3RhY2spCiB7CiAgICAgYm9vbCBzdWNjZXNzID0gdm0tPmVuc3VyZVN0YWNrQ2FwYWNpdHlG
b3IobmV3VG9wT2ZTdGFjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCmluZGV4IDdjZmVjYTdhODE2ZDFkYzUzMGEzNDdlODZmYjlkNWZkMzYwYmNiODAu
LjlmZTFhYzViOWQwMzllZDdjM2E0ZmIwNzQ5ZTk2NDVhZGFkMjRhMjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC0xMzIsNyArMTMyLDcgQEAg
TExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5f
dGFpbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N1cGVyX3NhbXBs
ZXJfYmVnaW4pOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zdXBlcl9z
YW1wbGVyX2VuZCk7CiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19z
dGFja19vdmVyZmxvd19lcnJvcihWTSosIFByb3RvQ2FsbEZyYW1lKikgV1RGX0lOVEVSTkFMOwot
I2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBleHRlcm4gIkMiIFNsb3dQYXRo
UmV0dXJuVHlwZSBsbGludF9zdGFja19jaGVja19hdF92bV9lbnRyeShWTSosIFJlZ2lzdGVyKikg
V1RGX0lOVEVSTkFMOwogI2VuZGlmCiBleHRlcm4gIkMiIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0gg
dm9pZCBsbGludF9jcmFzaCgpIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRUaHVua3MuY3BwCmluZGV4IDI0NDZiZGJmZTc2Y2Y5NjI5NDAyNWRjNjU3NTdk
YTBlNDk5MzBlOGEuLjVjMTk0Y2Y1NGQyZWYzMDIwZTIxMzMwMjg5ZDlmZjVjMDk4NjE3MTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcApAQCAtOTgsOCAr
OTgsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG1vZHVsZVByb2dy
YW1FbnRyeVRodW5rR2VuZXJhdG9yKFZNKiB2bSkKIAogfSAvLyBuYW1lc3BhY2UgTExJbnQKIAot
I2Vsc2UgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZgogCisjaWYgRU5BQkxFKENfTE9PUCkKIC8vIE5v
bi1KSVQgKGkuZS4gQyBMb29wIExMSU5UKSBjYXNlOgogCiBFbmNvZGVkSlNWYWx1ZSB2bUVudHJ5
VG9KYXZhU2NyaXB0KHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBWTSogdm0sIFByb3RvQ2FsbEZy
YW1lKiBwcm90b0NhbGxGcmFtZSkKQEAgLTEyMiw3ICsxMjMsNiBAQCBleHRlcm4gIkMiIFZNRW50
cnlSZWNvcmQqIHZtRW50cnlSZWNvcmQoRW50cnlGcmFtZSogZW50cnlGcmFtZSkKICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxWTUVudHJ5UmVjb3JkKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFy
Kj4oZW50cnlGcmFtZSkgLSBWTUVudHJ5VG90YWxGcmFtZVNpemUpOwogfQogCi0KLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwCmluZGV4IDc4YmZmMDg4NGM0ODAyOTM5YTRkZTg2MGY3NmI1ODJlYWE5YTQyNjUu
LjQ3YmVhMmRmNTVlNjVkNGNjY2Y3ZjBkN2U1NjA5MDMxNTBiOTVjYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAKQEAgLTI5
LDcgKzI5LDcgQEAKICNpbmNsdWRlICJMTEludE9mZmxpbmVBc21Db25maWcuaCIKICNpbmNsdWRl
IDx3dGYvSW5saW5lQVNNLmg+CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09Q
KQogI2luY2x1ZGUgIkJ5dGVjb2Rlcy5oIgogI2luY2x1ZGUgIkNMb29wU3RhY2tJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCkBAIC01NTksNCArNTU5LDQgQEAgSlNWYWx1ZSBDTG9v
cDo6ZXhlY3V0ZShPcGNvZGVJRCBlbnRyeU9wY29kZUlELCB2b2lkKiBleGVjdXRhYmxlQWRkcmVz
cywgVk0qIHZtLAogLy8gZm9yIHRoZSBpbnRlcnByZXRlciwgYXMgY29tcGlsZWQgZnJvbSBMb3dM
ZXZlbEludGVycHJldGVyLmFzbS4KICNpbmNsdWRlICJMTEludEFzc2VtYmx5LmgiCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaAppbmRleCA4MzAwOGUx
MjI1YmY1M2RjZmNmZmRkYTAzODVkNmY3NmFlOTYyNzMwLi5lNGM5MDc0M2FjZjM5NDkwYTgzNTE3
NzQxYjNlYzk1Y2Y5ZDM2YjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIk9w
Y29kZS5oIgogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTQ0LDQgKzQ0LDQgQEAgRk9SX0VBQ0hfQ09SRV9PUENPREVfSUQoTExJ
TlRfT1BDT0RFX0FMSUFTKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFC
TEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NKU1ZhbHVlLmgKaW5kZXggNTQ0MjI3NzY5OWJlZjI1NmM0YmE2MjM0NmM5YWZi
MzA1Zjg1ZWQzOC4uZjdlNjU3NTVlZDgxOGQ1YmY2ZGY2ZTFjYzE5MmEyOGZjYTM3YTkzMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaApAQCAtNTksNyArNTks
NyBAQCBjbGFzcyBPU1JFeGl0Q29tcGlsZXI7CiBjbGFzcyBTcGVjdWxhdGl2ZUpJVDsKIH0KICNl
bmRpZgotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBuYW1lc3BhY2UgTExJ
bnQgewogY2xhc3MgQ0xvb3A7CiB9CkBAIC0xNDcsNyArMTQ3LDcgQEAgY2xhc3MgSlNWYWx1ZSB7
CiAgICAgZnJpZW5kIGNsYXNzIERGRzo6T1NSRXhpdENvbXBpbGVyOwogICAgIGZyaWVuZCBjbGFz
cyBERkc6OlNwZWN1bGF0aXZlSklUOwogI2VuZGlmCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKICAgICBmcmllbmQgY2xhc3MgTExJbnQ6OkNMb29wOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCmluZGV4IDgz
NmQ3NTU2ODhiMTcyZmMxMmY4Yzc5NDgyYjBhNjA1ODUzMDVjNzkuLjQ2ZjE1NTQ1MWQwNjUxYjhi
MWZjY2JkMjVmNjJkYjkxMDI5ZmU5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTWFjaGluZUNvbnRleHQuaApAQCAtNTAsMTAgKzUwLDEwIEBAIGlubGluZSB2b2lkIHNl
dEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm9ybVJlZ2lzdGVycyYsIE1hY3JvQXNzZW1ibGVyQ29k
ZVB0cjxDRnVuCiAKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiYgYXJndW1lbnRQb2ludGVyKFBs
YXRmb3JtUmVnaXN0ZXJzJik7CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQb2lu
dGVyKGNvbnN0IFBsYXRmb3JtUmVnaXN0ZXJzJik7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5B
QkxFKENfTE9PUCkKIHZvaWQqJiBsbGludEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm9ybVJlZ2lz
dGVycyYpOwogdm9pZCogbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdp
c3RlcnMmKTsKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09Q
KQogCiAjaWYgSEFWRShNQUNISU5FX0NPTlRFWFQpCiAKQEAgLTcyLDEwICs3MiwxMCBAQCBpbmxp
bmUgdm9pZCBzZXRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRleHRfdCYsIE1hY3JvQXNzZW1ibGVy
Q29kZVB0cjxDRnVuY3Rpb25QdAogCiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZComIGFyZ3VtZW50
UG9pbnRlcihtY29udGV4dF90Jik7CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQ
b2ludGVyKGNvbnN0IG1jb250ZXh0X3QmKTsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUo
Q19MT09QKQogdm9pZComIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZXh0X3QmKTsKIHZv
aWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IG1jb250ZXh0X3QmKTsKLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQogI2VuZGlmIC8vIEhBVkUo
TUFDSElORV9DT05URVhUKQogI2VuZGlmIC8vIE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9D
T05URVhUKQogCkBAIC02NjgsNyArNjY4LDcgQEAgaW5saW5lIHZvaWQqIGFyZ3VtZW50UG9pbnRl
cihjb25zdCBtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKIH0KICNlbmRpZiAvLyBIQVZFKE1B
Q0hJTkVfQ09OVEVYVCkKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAj
aWYgT1MoV0lORE9XUykgfHwgSEFWRShNQUNISU5FX0NPTlRFWFQpCiBpbmxpbmUgdm9pZComIGxs
aW50SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdzKQogewpAQCAtNzgz
LDcgKzc4Myw3IEBAIGlubGluZSB2b2lkKiBsbGludEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBt
Y29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAgICByZXR1cm4gbGxpbnRJbnN0cnVjdGlvblBv
aW50ZXIoY29uc3RfY2FzdDxtY29udGV4dF90Jj4obWFjaGluZUNvbnRleHQpKTsKIH0KICNlbmRp
ZiAvLyBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlm
IC8vICFFTkFCTEUoQ19MT09QKQogCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCmluZGV4IGI2OTM1ZTRjNzU1NGRhMWFmMjBk
NDRhYjYyOTkyZjVhMzg5MWJjYmQuLmE5OTU1NGQxZjNkYTYwYjVmYmM4OTM3Y2I5NzdlZmUyMThm
ZWViOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuY3BwCkBAIC02MDEsMTAgKzYwMSwxNSBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6
OnByb2Nlc3NVbnZlcmlmaWVkU3RhY2tUcmFjZXMoKQogICAgICAgICAgICAgICAgICAgICBzdG9y
ZUNhbGxlZUludG9MYXN0RnJhbWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZl
cmlmaWVkQ2FsbGVlKTsKICAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIGlmIChzdGQ6Om9wdGlvbmFsPENvZGVP
cmlnaW4+IGNvZGVPcmlnaW4gPSB0b3BDb2RlQmxvY2stPmZpbmRQQyh1bnByb2Nlc3NlZFN0YWNr
VHJhY2UudG9wUEMpKSB7Ci0gICAgICAgICAgICAgICAgYXBwZW5kQ29kZU9yaWdpbih0b3BDb2Rl
QmxvY2ssICpjb2RlT3JpZ2luKTsKLSAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0
RnJhbWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2FsbGVlKTsK
LSAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gMTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisj
aWYgRU5BQkxFKEpJVCkKKyAgICAgICAgICAgICAgICBpZiAoc3RkOjpvcHRpb25hbDxDb2RlT3Jp
Z2luPiBjb2RlT3JpZ2luID0gdG9wQ29kZUJsb2NrLT5maW5kUEModW5wcm9jZXNzZWRTdGFja1Ry
YWNlLnRvcFBDKSkgeworICAgICAgICAgICAgICAgICAgICBhcHBlbmRDb2RlT3JpZ2luKHRvcENv
ZGVCbG9jaywgKmNvZGVPcmlnaW4pOworICAgICAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUlu
dG9MYXN0RnJhbWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2Fs
bGVlKTsKKyAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7CisgICAgICAgICAgICAg
ICAgfQorI2VuZGlmCisgICAgICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGFwcGVuZENvZGVPcmln
aW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Rlc3RSdW5uZXJVdGlscy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UZXN0UnVubmVyVXRpbHMuY3BwCmluZGV4IDAxZWM4NmExNGRmOWE5NjJm
MzI2NzVlNmZkMDg3MzAwZDgwZTJiYzcuLjM0ZWVjYTc0YzcyNDdlYjVlMjQ2ZWQ3MTdkZWExN2Yx
MTM2ZjgyY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Rlc3RS
dW5uZXJVdGlscy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVzdFJ1
bm5lclV0aWxzLmNwcApAQCAtMTAyLDEwICsxMDIsOCBAQCBKU1ZhbHVlIG9wdGltaXplTmV4dElu
dm9jYXRpb24oSlNWYWx1ZSB0aGVGdW5jdGlvblZhbHVlKQogI2lmIEVOQUJMRShKSVQpCiAgICAg
aWYgKENvZGVCbG9jayogYmFzZWxpbmVDb2RlQmxvY2sgPSBnZXRTb21lQmFzZWxpbmVDb2RlQmxv
Y2tGb3JGdW5jdGlvbih0aGVGdW5jdGlvblZhbHVlKSkKICAgICAgICAgYmFzZWxpbmVDb2RlQmxv
Y2stPm9wdGltaXplTmV4dEludm9jYXRpb24oKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHRo
ZUZ1bmN0aW9uVmFsdWUpOwogI2VuZGlmCi0KKyAgICBVTlVTRURfUEFSQU0odGhlRnVuY3Rpb25W
YWx1ZSk7CiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmNwcAppbmRleCA4ZTA5MmJjNWE4YTc4YmU4NjA5YjQ5ZDZjYzZmY2VkMTg1YTg0
NTE5Li40N2U2MWI4M2EzOTczMDU3NzRhNmYyM2RjNDNlMzBkYmQ3MDZjZDYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC0xNTksNyArMTU5LDcgQEAKICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJl
Z2lzdHJ5Lmg+CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogI2luY2x1
ZGUgIkNMb29wU3RhY2suaCIKICNpbmNsdWRlICJDTG9vcFN0YWNrSW5saW5lcy5oIgogI2VuZGlm
CkBAIC00NjEsNyArNDYxLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBU
eXBlKQogICAgIGZ0bFRodW5rcyA9IHN0ZDo6bWFrZV91bmlxdWU8RlRMOjpUaHVua3M+KCk7CiAj
ZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCiAgICAgCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5B
QkxFKENfTE9PUCkKICAgICBpbml0aWFsaXplSG9zdENhbGxSZXR1cm5WYWx1ZSgpOyAvLyBUaGlz
IGlzIG5lZWRlZCB0byBjb252aW5jZSB0aGUgbGlua2VyIG5vdCB0byBkcm9wIGhvc3QgY2FsbCBy
ZXR1cm4gc3VwcG9ydC4KICNlbmRpZgogICAgIApAQCAtNzQxLDkgKzc0MSw4IEBAIE5hdGl2ZUV4
ZWN1dGFibGUqIFZNOjpnZXRIb3N0RnVuY3Rpb24oTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIElu
dHJpbnNpYyBpbnRyaW5zCiAgICAgICAgICAgICBpbnRyaW5zaWMgIT0gTm9JbnRyaW5zaWMgPyB0
aHVua0dlbmVyYXRvckZvckludHJpbnNpYyhpbnRyaW5zaWMpIDogMCwKICAgICAgICAgICAgIGlu
dHJpbnNpYywgc2lnbmF0dXJlLCBuYW1lKTsKICAgICB9Ci0jZWxzZSAvLyBFTkFCTEUoSklUKQot
ICAgIFVOVVNFRF9QQVJBTShpbnRyaW5zaWMpOwogI2VuZGlmIC8vIEVOQUJMRShKSVQpCisgICAg
VU5VU0VEX1BBUkFNKGludHJpbnNpYyk7CiAgICAgcmV0dXJuIE5hdGl2ZUV4ZWN1dGFibGU6OmNy
ZWF0ZSgqdGhpcywKICAgICAgICAgYWRvcHRSZWYoKm5ldyBOYXRpdmVKSVRDb2RlKExMSW50Ojpn
ZXRDb2RlUmVmPEpTRW50cnlQdHJUYWc+KGxsaW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpLCBK
SVRDb2RlOjpIb3N0Q2FsbFRodW5rKSksIGZ1bmN0aW9uLAogICAgICAgICBhZG9wdFJlZigqbmV3
IE5hdGl2ZUpJVENvZGUoTExJbnQ6OmdldENvZGVSZWY8SlNFbnRyeVB0clRhZz4obGxpbnRfbmF0
aXZlX2NvbnN0cnVjdF90cmFtcG9saW5lKSwgSklUQ29kZTo6SG9zdENhbGxUaHVuaykpLCBjb25z
dHJ1Y3RvciwKQEAgLTg3Niw3ICs4NzUsNyBAQCBzaXplX3QgVk06OnVwZGF0ZVNvZnRSZXNlcnZl
ZFpvbmVTaXplKHNpemVfdCBzb2Z0UmVzZXJ2ZWRab25lU2l6ZSkKIHsKICAgICBzaXplX3Qgb2xk
U29mdFJlc2VydmVkWm9uZVNpemUgPSBtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKICAg
ICBtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZSA9IHNvZnRSZXNlcnZlZFpvbmVTaXplOwot
I2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAgICAgaW50ZXJwcmV0ZXItPmNs
b29wU3RhY2soKS5zZXRTb2Z0UmVzZXJ2ZWRab25lU2l6ZShzb2Z0UmVzZXJ2ZWRab25lU2l6ZSk7
CiAjZW5kaWYKIApAQCAtMTE0NSw3ICsxMTQ0LDcgQEAgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk0o
Vk0qIHZtKQogICAgICAgICBBU1NFUlQodm0tPmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2Nr
KCkpOwogICAgICAgICBBU1NFUlRfVU5VU0VEKHN0YWNrQm91bmRzLCBzdGFja0JvdW5kcy5jb250
YWlucyh2bS0+bGFzdFN0YWNrVG9wKCkpKTsKICAgICB9Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYg
RU5BQkxFKENfTE9PUCkKICAgICB2bS0+aW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5zYW5pdGl6
ZVN0YWNrKCk7CiAjZWxzZQogICAgIHNhbml0aXplU3RhY2tGb3JWTUltcGwodm0pOwpAQCAtMTE1
NCw3ICsxMTUzLDcgQEAgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk0oVk0qIHZtKQogCiBzaXplX3Qg
Vk06OmNvbW1pdHRlZFN0YWNrQnl0ZUNvdW50KCkKIHsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFF
TkFCTEUoQ19MT09QKQogICAgIC8vIFdoZW4gdXNpbmcgdGhlIEMgc3RhY2ssIHdlIGRvbid0IGtu
b3cgaG93IG1hbnkgc3RhY2sgcGFnZXMgYXJlIGFjdHVhbGx5CiAgICAgLy8gY29tbWl0dGVkLiBT
bywgd2UgdXNlIHRoZSBjdXJyZW50IHN0YWNrIHVzYWdlIGFzIGFuIGVzdGltYXRlLgogICAgIEFT
U0VSVChUaHJlYWQ6OmN1cnJlbnQoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253YXJkKCkpOwpAQCAt
MTE2Niw3ICsxMTY1LDcgQEAgc2l6ZV90IFZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCgpCiAj
ZW5kaWYKIH0KIAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBib29sIFZN
OjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yQ0xvb3AoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7
CiAgICAgcmV0dXJuIGludGVycHJldGVyLT5jbG9vcFN0YWNrKCkuZW5zdXJlQ2FwYWNpdHlGb3Io
bmV3VG9wT2ZTdGFjayk7CkBAIC0xMTc2LDcgKzExNzUsNyBAQCBib29sIFZNOjppc1NhZmVUb1Jl
Y3Vyc2VTb2Z0Q0xvb3AoKSBjb25zdAogewogICAgIHJldHVybiBpbnRlcnByZXRlci0+Y2xvb3BT
dGFjaygpLmlzU2FmZVRvUmVjdXJzZSgpOwogfQotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKICNpZiBFTkFCTEUoRVhDRVBUSU9OX1NDT1BFX1ZFUklG
SUNBVElPTikKIHZvaWQgVk06OnZlcmlmeUV4Y2VwdGlvbkNoZWNrTmVlZElzU2F0aXNmaWVkKHVu
c2lnbmVkIHJlY3Vyc2lvbkRlcHRoLCBFeGNlcHRpb25FdmVudExvY2F0aW9uJiBsb2NhdGlvbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDQwZGE1ZDM2ODkyNTM4YjJiMmJiNGQx
Njc2MTJlNTdkNTE1YWNkNjMuLmY5N2FmMzVhMTQ5ZDM1OWIyZTQ2MGJmN2QxYTFiOTk3MTc3Mjhl
OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtNzE2LDcgKzcxNiw3IEBAIGNs
YXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxp
bmtlZExpc3ROb2RlPFZNPiB7CiAgICAgdm9pZCogc3RhY2tMaW1pdCgpIHsgcmV0dXJuIG1fc3Rh
Y2tMaW1pdDsgfQogICAgIHZvaWQqIHNvZnRTdGFja0xpbWl0KCkgeyByZXR1cm4gbV9zb2Z0U3Rh
Y2tMaW1pdDsgfQogICAgIHZvaWQqKiBhZGRyZXNzT2ZTb2Z0U3RhY2tMaW1pdCgpIHsgcmV0dXJu
ICZtX3NvZnRTdGFja0xpbWl0OyB9Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9P
UCkKICAgICB2b2lkKiBjbG9vcFN0YWNrTGltaXQoKSB7IHJldHVybiBtX2Nsb29wU3RhY2tMaW1p
dDsgfQogICAgIHZvaWQgc2V0Q0xvb3BTdGFja0xpbWl0KHZvaWQqIGxpbWl0KSB7IG1fY2xvb3BT
dGFja0xpbWl0ID0gbGltaXQ7IH0KICNlbmRpZgpAQCAtOTI5LDEwICs5MjksMTAgQEAgY2xhc3Mg
Vk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2Vk
TGlzdE5vZGU8Vk0+IHsKICAgICAgICAgbV9leGNlcHRpb24gPSBudWxscHRyOwogICAgIH0KIAot
I2lmICFFTkFCTEUoSklUKSAgICAKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIGJvb2wgZW5zdXJl
U3RhY2tDYXBhY2l0eUZvckNMb29wKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKTsKICAgICBib29s
IGlzU2FmZVRvUmVjdXJzZVNvZnRDTG9vcCgpIGNvbnN0OwotI2VuZGlmIC8vICFFTkFCTEUoSklU
KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IHRocm93RXhjZXB0aW9uKEV4ZWNTdGF0ZSosIEV4Y2VwdGlvbiopOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIEpTVmFsdWUgdGhyb3dFeGNlcHRpb24oRXhlY1N0YXRlKiwgSlNWYWx1ZSk7CkBAIC05
NTMsNyArOTUzLDcgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+
LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzaXplX3QgbV9jdXJyZW50
U29mdFJlc2VydmVkWm9uZVNpemU7CiAgICAgdm9pZCogbV9zdGFja0xpbWl0IHsgbnVsbHB0ciB9
OwogICAgIHZvaWQqIG1fc29mdFN0YWNrTGltaXQgeyBudWxscHRyIH07Ci0jaWYgIUVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICB2b2lkKiBtX2Nsb29wU3RhY2tMaW1pdCB7IG51
bGxwdHIgfTsKICNlbmRpZgogICAgIHZvaWQqIG1fbGFzdFN0YWNrVG9wIHsgbnVsbHB0ciB9OwpA
QCAtMTAzNSw3ICsxMDM1LDcgQEAgaW5saW5lIEhlYXAqIFdlYWtTZXQ6OmhlYXAoKSBjb25zdAog
ICAgIHJldHVybiAmbV92bS0+aGVhcDsKIH0KIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJM
RShDX0xPT1ApCiBleHRlcm4gIkMiIHZvaWQgc2FuaXRpemVTdGFja0ZvclZNSW1wbChWTSopOwog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNSW5s
aW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKaW5kZXgg
MTViNTBkNmRmYmFlYTEyMjYyOTllNzEyOTEwZDMwZGJiM2YxZjEzMy4uMTVlNWRmMGIyNTMxNGU3
ZTY4MGI4ZTU5YjkwNTRmYTk1ZTM2NzUyZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk1JbmxpbmVzLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiBi
b29sIFZNOjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKQog
ewotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAgICAgQVNTRVJUKFRocmVh
ZDo6Y3VycmVudCgpLnN0YWNrKCkuaXNHcm93aW5nRG93bndhcmQoKSk7CiAgICAgcmV0dXJuIG5l
d1RvcE9mU3RhY2sgPj0gbV9zb2Z0U3RhY2tMaW1pdDsKICNlbHNlCkBAIC00Nyw3ICs0Nyw3IEBA
IGJvb2wgVk06OmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2sp
CiBib29sIFZNOjppc1NhZmVUb1JlY3Vyc2VTb2Z0KCkgY29uc3QKIHsKICAgICBib29sIHNhZmUg
PSBpc1NhZmVUb1JlY3Vyc2UobV9zb2Z0U3RhY2tMaW1pdCk7Ci0jaWYgIUVOQUJMRShKSVQpCisj
aWYgRU5BQkxFKENfTE9PUCkKICAgICBzYWZlID0gc2FmZSAmJiBpc1NhZmVUb1JlY3Vyc2VTb2Z0
Q0xvb3AoKTsKICNlbmRpZgogICAgIHJldHVybiBzYWZlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggZTU2OWNk
YzU2Mzg5NzJmMmNhYTE0MzlhNmJiMzYyMThmZjlmMzc0Yi4uODgzNWI4OWQ3ZjlhMTU1MjQxNGQ2
M2I3MDJiODhiMmVjOGQyODhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0u
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC03NTcsNiArNzU3LDE1IEBACiAj
ZGVmaW5lIEVOQUJMRV9KSVQgMAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ19MT09Q
KQorI2lmIEVOQUJMRShKSVQpIFwKKyAgICB8fCBDUFUoWDg2XzY0KSB8fCAoQ1BVKEFSTTY0KSAm
JiAhZGVmaW5lZChfX0lMUDMyX18pKQorI2RlZmluZSBFTkFCTEVfQ19MT09QIDAKKyNlbHNlCisj
ZGVmaW5lIEVOQUJMRV9DX0xPT1AgMQorI2VuZGlmCisjZW5kaWYKKwogLyogVGhlIEZUTCAqZG9l
cyBub3QqIHdvcmsgb24gMzItYml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNvbWVv
bmUgYXNrZWQgdXMgdG8gZW5hYmxlIGl0LiAqLwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAjdW5k
ZWYgRU5BQkxFX0ZUTF9KSVQKQEAgLTg2Myw3ICs4NzIsNyBAQAogICogSW4gY29uZmlndXJhdGlv
bnMgb3RoZXIgdGhhbiBXaW5kb3dzIGFuZCBEYXJ3aW4sIGJlY2F1c2UgbGF5b3V0IG9mIG1jb250
ZXh0X3QgZGVwZW5kcyBvbiBzdGFuZGFyZCBsaWJyYXJpZXMgKGxpa2UgZ2xpYmMpLAogICogc2Ft
cGxpbmcgcHJvZmlsZXIgaXMgZW5hYmxlZCBpZiBXZWJLaXQgdXNlcyBwdGhyZWFkcyBhbmQgZ2xp
YmMuICovCiAjaWYgIWRlZmluZWQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSKQotI2lmIEVOQUJM
RShKSVQpICYmIChPUyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpCisjaWYgIUVO
QUJMRShDX0xPT1ApICYmIChPUyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpCiAj
ZGVmaW5lIEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiAxCiAjZWxzZQogI2RlZmluZSBFTkFCTEVf
U0FNUExJTkdfUFJPRklMRVIgMApAQCAtOTQ3LDExICs5NTYsMTEgQEAKICNlbmRpZgogCiAvKiBE
ZXRlcm1pbmUgaWYgd2UgbmVlZCB0byBlbmFibGUgQ29tcHV0ZWQgR290byBPcGNvZGVzIG9yIG5v
dDogKi8KLSNpZiBIQVZFKENPTVBVVEVEX0dPVE8pIHx8IEVOQUJMRShKSVQpCisjaWYgSEFWRShD
T01QVVRFRF9HT1RPKSB8fCAhRU5BQkxFKENfTE9PUCkKICNkZWZpbmUgRU5BQkxFX0NPTVBVVEVE
X0dPVE9fT1BDT0RFUyAxCiAjZW5kaWYKIAotI2lmIEVOQUJMRShKSVQpICYmICFDT01QSUxFUihN
U1ZDKSAmJiBcCisjaWYgIUVOQUJMRShDX0xPT1ApICYmICFDT01QSUxFUihNU1ZDKSAmJiBcCiAg
ICAgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgKENQVShBUk1fVEhV
TUIyKSAmJiBPUyhEQVJXSU4pKSkKIC8qIFRoaXMgZmVhdHVyZSB3b3JrcyBieSBlbWJlZGRpbmcg
dGhlIE9wY29kZUlEIGluIHRoZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdlbmVyYXRlZCBMTGlu
dCBjb2RlCiAgICB0aGF0IGV4ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5ub3QgYmUgc3VwcG9y
dGVkIGJ5IHRoZSBDTG9vcCBzaW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJlZCB0aGUKQEAgLTk4
MSw3ICs5OTAsNyBAQAogCiAvKiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUgUmVnRXhwIEpJVCBp
cyBlbmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZQogICAgZW5hYmxlZCBhcyB3ZWxs
OiAqLwotI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNpZiBFTkFCTEUoSklU
KSB8fCBFTkFCTEUoWUFSUl9KSVQpIHx8ICFFTkFCTEUoQ19MT09QKQogI2lmIGRlZmluZWQoRU5B
QkxFX0FTU0VNQkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIKICNlcnJvciAiQ2Fubm90IGVuYWJs
ZSB0aGUgSklUIG9yIFJlZ0V4cCBKSVQgd2l0aG91dCBlbmFibGluZyB0aGUgQXNzZW1ibGVyIgog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1Nv
dXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCAxMTZlMGQ5Njk3NGYxMmVkZGUw
NjA1YzFlN2NmNmQyMzhiZjNmYTAwLi5hYTBkYTZhN2U1ZmU0YmI4MGJmMzEyZTc5NTQ2OGI3OWFi
NzM5NmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysr
IGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC03MSw5ICs3MSwxMyBAQCBt
YWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIGlmIChXVEZfQ1BVX0FSTSBPUiBXVEZfQ1BV
X0FSTTY0IE9SIFdURl9DUFVfTUlQUyBPUiBXVEZfQ1BVX1g4Nl82NCBPUiBXVEZfQ1BVX1g4NikK
ICAgICAgICAgc2V0KEVOQUJMRV9KSVRfREVGQVVMVCBPTikKICAgICAgICAgc2V0KFVTRV9TWVNU
RU1fTUFMTE9DX0RFRkFVTFQgT0ZGKQorICAgICAgICBzZXQoRU5BQkxFX0NfTE9PUF9ERUZBVUxU
IE9GRikKKyAgICAgICAgc2V0KEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUl9ERUZBVUxUIE9OKQog
ICAgIGVsc2UgKCkKICAgICAgICAgc2V0KEVOQUJMRV9KSVRfREVGQVVMVCBPRkYpCiAgICAgICAg
IHNldChVU0VfU1lTVEVNX01BTExPQ19ERUZBVUxUIE9OKQorICAgICAgICBzZXQoRU5BQkxFX0Nf
TE9PUF9ERUZBVUxUIE9OKQorICAgICAgICBzZXQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSX0RF
RkFVTFQgT0ZGKQogICAgIGVuZGlmICgpCiAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfM0RfVFJBTlNGT1JNUyAiVG9nZ2xlIDNEIHRyYW5zZm9ybXMgc3VwcG9ydCIgUFJJVkFURSBP
TikKQEAgLTEwMCw2ICsxMDQsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCAiVG9nZ2xlIENT
UyBTZWxlY3RvcnMgTGV2ZWwgNCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSAiVG9nZ2xlIGN1cnNvciB2aXNpYmls
aXR5IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgIlRvZ2dsZSBDdXN0b20gU2NoZW1lIEhhbmRsZXIgc3Vw
cG9ydCIgUFJJVkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NfTE9P
UCAiRW5hYmxlIENMb29wIGludGVycHJldGVyIiBQUklWQVRFICR7RU5BQkxFX0NfTE9PUF9ERUZB
VUxUfSkKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQg
IlRvZ2dsZSBkYXNoYm9hcmQgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0RBVEFDVUVfVkFMVUUgIlRvZ2dsZSBkYXRhY3VlIHZhbHVlIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UICJUb2dnbGUgSFRNTDUgZGF0YWxpc3Qgc3VwcG9ydCIgUFJJVkFURSBPRkYpCkBA
IC0xNTgsNyArMTYzLDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSAiVG9nZ2xlIHJlc29s
dXRpb24gbWVkaWEgcXVlcnkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1JFU09VUkNFX1VTQUdFICJUb2dnbGUgcmVzb3VyY2UgdXNhZ2Ugc3Vw
cG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HICJUb2dnbGUgcnViYmVyIGJhbmRpbmcgc3VwcG9ydCIgUFJJVkFURSBPRkYpCi0g
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSICJUb2dnbGUg
c2FtcGxpbmcgcHJvZmlsZXIgc3VwcG9ydCIgUFJJVkFURSBPTikKKyAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIgIlRvZ2dsZSBzYW1wbGluZyBwcm9maWxl
ciBzdXBwb3J0IiBQUklWQVRFICR7RU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSX0RFRkFVTFR9KQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTICJUb2dnbGUg
c2VydmljZSBjb250cm9scyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfU0VSVklDRV9XT1JLRVIgIlRvZ2dsZSBTZXJ2aWNlV29ya2VyIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TTU9PVEhf
U0NST0xMSU5HICJUb2dnbGUgc21vb3RoIHNjcm9sbGluZyIgUFJJVkFURSBPTikKQEAgLTE5MCwx
MiArMTk1LDE0IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1hTTFQgIlRvZ2dsZSBYU0xUIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1NZU1RFTV9NQUxMT0MgIlRvZ2dsZSBzeXN0ZW0g
YWxsb2NhdG9yIGluc3RlYWQgb2YgV2ViS2l0J3MgY3VzdG9tIGFsbG9jYXRvciIgUFJJVkFURSAk
e1VTRV9TWVNURU1fTUFMTE9DX0RFRkFVTFR9KQogCisgICAgV0VCS0lUX09QVElPTl9DT05GTElD
VChFTkFCTEVfSklUIEVOQUJMRV9DX0xPT1ApCisgICAgV0VCS0lUX09QVElPTl9DT05GTElDVChF
TkFCTEVfU0FNUExJTkdfUFJPRklMRVIgRU5BQkxFX0NfTE9PUCkKKwogICAgIFdFQktJVF9PUFRJ
T05fREVQRU5EKEVOQUJMRV9XRUJfUlRDIEVOQUJMRV9NRURJQV9TVFJFQU0pCiAgICAgV0VCS0lU
X09QVElPTl9ERVBFTkQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEgRU5BQkxFX1ZJREVP
KQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9ERkdfSklUIEVOQUJMRV9KSVQpCiAg
ICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0ZUTF9KSVQgRU5BQkxFX0RGR19KSVQpCiAg
ICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX1dFQkFTU0VNQkxZIEVOQUJMRV9GVExfSklU
KQotICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiBFTkFC
TEVfSklUKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMgRU5BQkxFX0lOREVYRURfREFUQUJBU0UpCiAgICAgV0VCS0lUX09QVElPTl9E
RVBFTkQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCBFTkFCTEVfVklERU8pCiAgICAgV0VC
S0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX01FRElBX1NPVVJDRSBFTkFCTEVfVklERU8pCmRpZmYg
LS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNTMyYjMyNjYwNDA5YTIxYjA2MTVl
NGVhNWIxMzBhYzU3NmQzNWQ4Zi4uNjUzOTFmZDgzNjNkZGY4M2MwNDIxZmRjZDc4Nzc0NTI4NDY1
MjZiMSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDE4LTA5LTIxICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5v
cmc+CisKKyAgICAgICAgW0pTQ10gRW5hYmxlIExMSW50IEFTTSBpbnRlcnByZXRlciBvbiBYNjQg
YW5kIEFSTTY0IGluIG5vbiBKSVQgY29uZmlndXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5Nzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMu
Y21ha2U6CisKKzIwMTgtMDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0
YXJ0Lm9yZz4KKworICAgICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVyIG9u
IFg2NCBhbmQgQVJNNjQgaW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIg
ZG9lcyBub3QgZGVwZW5kIG9uIEVOQUJMRV9KSVQgbm93IHNpbmNlIGl0IGNhbiBiZQorICAgICAg
ICB1c2VkIHdpdGggTExJbnQgQVNNIGludGVycHJldGVyLgorCisgICAgICAgICogU291cmNlL2Nt
YWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorCiAyMDE4LTA5LTIxICBNaWtlIEdvcnNlICA8bWdv
cnNlQHN1c2UuY29tPgogCiAgICAgICAgIEJ1aWxkIHRvb2xzIHNob3VsZCB3b3JrIHdoZW4gdGhl
IC91c3IvYmluL3B5dGhvbiBpcyBweXRob24zCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350482</attachid>
            <date>2018-09-21 20:02:55 -0700</date>
            <delta_ts>2018-09-21 20:02:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189778-20180922120254.patch</filename>
            <type>text/plain</type>
            <size>73097</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ODc1NjhmNzgxMmVlODQwNWQzZmRjOGYzZDdlYjRkODJjZjE1YjIxLi5mYWZiZWQ0ODc1Yjk2MGUz
YWJmMDgyZGI3OWU4ZDY4NTM5YzVjYTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTEgQEAKKzIwMTgtMDktMjEgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xv
d3N0YXJ0Lm9yZz4KKworICAgICAgICBbSlNDXSBFbmFibGUgTExJbnQgQVNNIGludGVycHJldGVy
IG9uIFg2NCBhbmQgQVJNNjQgaW4gbm9uIEpJVCBjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk3NzgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMTEludCBBU00gaW50ZXJwcmV0ZXIg
aXMgMnggYW5kIDE1JSBmYXN0ZXIgdGhhbiBDTG9vcCBpbnRlcnByZXRlciBvbgorICAgICAgICBM
aW51eCBhbmQgbWFjT1MgcmVzcGVjdGl2ZWx5LiBXZSB3b3VsZCBsaWtlIHRvIGVuYWJsZSBpdCBm
b3Igbm9uIEpJVAorICAgICAgICBjb25maWd1cmF0aW9ucyBpbiBYODZfNjQgYW5kIEFSTTY0Lgor
CisgICAgICAgIFRoaXMgcGF0Y2ggZW5hYmxlcyBMTEludCBmb3Igbm9uIEpJVCBidWlsZHMgaW4g
WDg2XzY0IGFuZCBBUk02NCBhcmNoaXRlY3R1cmVzLgorICAgICAgICBQcmV2aW91c2x5LCB3ZSBz
d2l0Y2ggTExJbnQgQVNNIGludGVycHJldGVyIGFuZCBDTG9vcCBieSB1c2luZyBFTkFCTEUoSklU
KQorICAgICAgICBjb25maWd1cmF0aW9uLiBCdXQgaXQgaXMgd3JvbmcgaW4gdGhlIG5ldyBzY2Vu
YXJpbyBzaW5jZSB3ZSBoYXZlIGEgYnVpbGQKKyAgICAgICAgY29uZmlndXJhdGlvbiB0aGF0IHVz
ZXMgTExJbnQgQVNNIGludGVycHJldGVyIGFuZCBKSVQgaXMgZGlzYWJsZWQuIFdlIGludHJvZHVj
ZQorICAgICAgICBFTkFCTEUoQ19MT09QKSBvcHRpb24sIHdoaWNoIHJlcHJlc2VudHMgdGhhdCB3
ZSB1c2UgQ0xvb3AuIEFuZCB3ZSByZXBsYWNlCisgICAgICAgIEVOQUJMRShKSVQpIHdpdGggRU5B
QkxFKENfTE9PUCkgaWYgdGhlIHByZXZpb3VzIEVOQUJMRShKSVQpIGlzIGVzc2VudGlhbGx5IGp1
c3QKKyAgICAgICAgcmVsYXRlZCB0byBMTEludCBBU00gaW50ZXJwcmV0ZXIgYW5kIG5vdCByZWxh
dGVkIHRvIEpJVC4KKworICAgICAgICBXZSBhbHNvIHJlcGxhY2Ugc29tZSBFTkFCTEUoSklUKSBj
b25maWd1cmF0aW9ucyB3aXRoIEVOQUJMRShBU1NFTUJMRVIpLgorICAgICAgICBFTkFCTEUoQVNT
RU1CTEVSKSBpcyBub3cgZW5hYmxlZCBldmVuIGlmIHdlIGRpc2FibGUgSklUIHNpbmNlIE1hY3Jv
QXNzZW1ibGVyCisgICAgICAgIGhhcyBtYWNoaW5lIHJlZ2lzdGVyIGluZm9ybWF0aW9uIHRoYXQg
aXMgdXNlZCBpbiBMTEludCBBU00gaW50ZXJwcmV0ZXIuCisKKyAgICAgICAgKiBBUEkvdGVzdHMv
UGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHA6CisgICAgICAgICh0ZXN0UGluZ1BvbmdTdGFj
a092ZXJmbG93KToKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGFzc2VtYmxlci9N
YXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oOgorICAgICAgICAqIGJ5dGVjb2RlL0NhbGxS
ZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0Lmg6IFJlbW92ZWQuIEl0IGlzIG5vIGxvbmdlciB1
c2VkLgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNv
ZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5o
OgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmNhbGxlZVNhdmVSZWdpc3RlcnMgY29uc3QpOgor
ICAgICAgICAoSlNDOjpDb2RlQmxvY2s6Om51bWJlck9mTExJbnRCYXNlbGluZUNhbGxlZVNhdmVS
ZWdpc3RlcnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmxsaW50QmFzZWxpbmVDYWxsZWVT
YXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmNh
bGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyk6CisgICAgICAgICogYnl0ZWNvZGUvT3Bj
b2RlLmg6CisgICAgICAgIChKU0M6OnBhZE9wY29kZU5hbWUpOgorICAgICAgICAqIGhlYXAvSGVh
cC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6OmdhdGhlckpTU3RhY2tSb290cyk6CisgICAgICAg
IChKU0M6OkhlYXA6OnN0b3BUaGVQZXJpcGhlcnkpOgorICAgICAgICAqIGludGVycHJldGVyL0NM
b29wU3RhY2suY3BwOgorICAgICAgICAqIGludGVycHJldGVyL0NMb29wU3RhY2suaDoKKyAgICAg
ICAgKiBpbnRlcnByZXRlci9DTG9vcFN0YWNrSW5saW5lcy5oOgorICAgICAgICAqIGludGVycHJl
dGVyL0VudHJ5RnJhbWUuaDoKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6
CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpJbnRlcnByZXRlcik6CisgICAgICAgIChKU0M6
OlVud2luZEZ1bmN0b3I6OmNvcHlDYWxsZWVTYXZlc1RvRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVm
ZmVyIGNvbnN0KToKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5oOgorICAgICAg
ICAqIGludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHA6CisgICAgICAgIChKU0M6OlN0YWNrVmlz
aXRvcjo6RnJhbWU6OmNhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAqIGludGVycHJldGVy
L1ZNRW50cnlSZWNvcmQuaDoKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oOgor
ICAgICAgICAqIGppdC9GUFJJbmZvLmg6CisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwpOgor
ICAgICAgICAqIGppdC9HUFJJbmZvLmNwcDoKKyAgICAgICAgKiBqaXQvR1BSSW5mby5oOgorICAg
ICAgICAoV1RGOjpwcmludEludGVybmFsKToKKyAgICAgICAgKiBqaXQvSG9zdENhbGxSZXR1cm5W
YWx1ZS5jcHA6CisgICAgICAgIChKU0M6OmdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0
YXRlKTogTW92ZWQuIFRoZXkgYXJlIHVzZWQgaW4gTExJbnQgQVNNIGludGVycHJldGVyIHRvby4K
KyAgICAgICAgKiBqaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oOgorICAgICAgICAqIGppdC9KSVRP
cGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhF
eGVjU3RhdGUpOiBEZWxldGVkLgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zTVNWQzY0LmNw
cDoKKyAgICAgICAgKiBqaXQvUmVnLmNwcDoKKyAgICAgICAgKiBqaXQvUmVnLmg6CisgICAgICAg
ICogaml0L1JlZ2lzdGVyQXRPZmZzZXQuY3BwOgorICAgICAgICAqIGppdC9SZWdpc3RlckF0T2Zm
c2V0Lmg6CisgICAgICAgICogaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmNwcDoKKyAgICAgICAg
KiBqaXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuaDoKKyAgICAgICAgKiBqaXQvUmVnaXN0ZXJNYXAu
aDoKKyAgICAgICAgKiBqaXQvUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAqIGppdC9SZWdpc3Rl
clNldC5oOgorICAgICAgICAqIGppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAqIGpp
dC9UZW1wUmVnaXN0ZXJTZXQuaDoKKyAgICAgICAgKiBsbGludC9MTEludENMb29wLmNwcDoKKyAg
ICAgICAgKiBsbGludC9MTEludENMb29wLmg6CisgICAgICAgICogbGxpbnQvTExJbnREYXRhLmNw
cDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OmluaXRpYWxpemUpOgorICAgICAgICAoSlNDOjpMTElu
dDo6RGF0YTo6cGVyZm9ybUFzc2VydGlvbnMpOgorICAgICAgICAqIGxsaW50L0xMSW50RGF0YS5o
OgorICAgICAgICAqIGxsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oOgorICAgICAgICAqIGxs
aW50L0xMSW50T3Bjb2RlLmg6CisgICAgICAgICogbGxpbnQvTExJbnRQQ1Jhbmdlcy5oOgorICAg
ICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OkxM
SU5UX1NMT1dfUEFUSF9ERUNMKToKKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5oOgor
ICAgICAgICAqIGxsaW50L0xMSW50VGh1bmtzLmNwcDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmNwcDoKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmg6
CisgICAgICAgICogcnVudGltZS9KU0NKU1ZhbHVlLmg6CisgICAgICAgICogcnVudGltZS9NYWNo
aW5lQ29udGV4dC5oOgorICAgICAgICAqIHJ1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5jcHA6Cisg
ICAgICAgIChKU0M6OlNhbXBsaW5nUHJvZmlsZXI6OnByb2Nlc3NVbnZlcmlmaWVkU3RhY2tUcmFj
ZXMpOiBFbmFibGUgU2FtcGxpbmdQcm9maWxlcgorICAgICAgICBmb3IgTExJbnQgQVNNIGludGVy
cHJldGVyIHdpdGggbm9uIEpJVCBjb25maWd1cmF0aW9uLgorICAgICAgICAqIHJ1bnRpbWUvVGVz
dFJ1bm5lclV0aWxzLmNwcDoKKyAgICAgICAgKEpTQzo6b3B0aW1pemVOZXh0SW52b2NhdGlvbik6
CisgICAgICAgICogcnVudGltZS9WTS5jcHA6CisgICAgICAgIChKU0M6OlZNOjpWTSk6CisgICAg
ICAgIChKU0M6OlZNOjpnZXRIb3N0RnVuY3Rpb24pOgorICAgICAgICAoSlNDOjpWTTo6dXBkYXRl
U29mdFJlc2VydmVkWm9uZVNpemUpOgorICAgICAgICAoSlNDOjpzYW5pdGl6ZVN0YWNrRm9yVk0p
OgorICAgICAgICAoSlNDOjpWTTo6Y29tbWl0dGVkU3RhY2tCeXRlQ291bnQpOgorICAgICAgICAq
IHJ1bnRpbWUvVk0uaDoKKyAgICAgICAgKiBydW50aW1lL1ZNSW5saW5lcy5oOgorICAgICAgICAo
SlNDOjpWTTo6ZW5zdXJlU3RhY2tDYXBhY2l0eUZvcik6CisgICAgICAgIChKU0M6OlZNOjppc1Nh
ZmVUb1JlY3Vyc2VTb2Z0IGNvbnN0KToKKwogMjAxOC0wOS0yMSAgS2VpdGggTWlsbGVyICA8a2Vp
dGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgUHJvbWlzZSBTUEkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggMTNk
N2FhMWU0MDU3NWRlNjkxYjZkZDkzNDBhNGY1MzBlZGU1ZmZjMy4uZTRiY2Y0OGNmMTU2OTk0YmZk
MjYxZWVjZTEzM2VkZGYzZDljMjQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0wOS0yMSAg
WXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3RhcnQub3JnPgorCisgICAgICAgIFtK
U0NdIEVuYWJsZSBMTEludCBBU00gaW50ZXJwcmV0ZXIgb24gWDY0IGFuZCBBUk02NCBpbiBub24g
SklUIGNvbmZpZ3VyYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4OTc3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBFTkFCTEUoQ19MT09QKSB3aGljaCBpbmRpY2F0ZXMg
d2UgdXNlIENMb29wIGFzIHRoZSBpbnRlcnByZXRlci4KKyAgICAgICAgUHJldmlvdXNseSwgd2Ug
dXNlZCAhRU5BQkxFKEpJVCkgZm9yIHRoaXMgY29uZmlndXJhdGlvbi4gQnV0IG5vdywgd2UgaGF2
ZQorICAgICAgICBhIGJ1aWxkIGNvbmZpZ3VyYXRpb24gdGhhdCBoYXMgTExJbnQgQVNNIGludGVy
cHJldGVyIChub3QgQ0xvb3ApIGFuZCAhRU5BQkxFKEpJVCkuCisKKyAgICAgICAgV2UgZW5hYmxl
IExMSW50IEFTTSBpbnRlcnByZXRlciBmb3Igbm9uIEpJVCBlbnZpcm9ubWVudCBpbiBYODZfNjQg
YW5kIEFSTTY0IGFyY2hpdGVjdHVyZXMuCisgICAgICAgIEFuZCB3ZSBlbmFibGUgRU5BQkxFKEFT
U0VNQkxFUikgZm9yIG5vbiBKSVQgZW52aXJvbm1lbnQgc2luY2UgaXQgb2ZmZXJzIG1hY2hpbmUg
cmVnaXN0ZXIKKyAgICAgICAgaW5mb3JtYXRpb24gd2hpY2ggaXMgdXNlZCBmb3IgTExJbnQgYW5k
IFNhbXBsaW5nUHJvZmlsZXIuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxOC0w
OS0yMSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgUHJvbWlzZSBTUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVz
dHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
QVBJL3Rlc3RzL1BpbmdQb25nU3RhY2tPdmVyZmxvd1Rlc3QuY3BwCmluZGV4IGZiZTQ2ODcyMDMy
Yjg2MTA5MDMzNDVmNjQ3ZWFkZGEzNGMwZDg5OTEuLjgzMmJkMTQwYmM5NWVhZGJkNTZiNDI4Zjcw
MzcxN2E0NzM0ZWJjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVz
dHMvUGluZ1BvbmdTdGFja092ZXJmbG93VGVzdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS90ZXN0cy9QaW5nUG9uZ1N0YWNrT3ZlcmZsb3dUZXN0LmNwcApAQCAtMTI3LDcgKzEy
Nyw3IEBAIGludCB0ZXN0UGluZ1BvbmdTdGFja092ZXJmbG93KCkKIAogICAgIE9wdGlvbnM6OnNv
ZnRSZXNlcnZlZFpvbmVTaXplKCkgPSAxMjggKiBLQjsKICAgICBPcHRpb25zOjpyZXNlcnZlZFpv
bmVTaXplKCkgPSA2NCAqIEtCOwotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkK
ICAgICAvLyBOb3JtYWxseSwgd2Ugd2FudCB0byBkaXNhYmxlIHRoZSBMTElOVCB0byBmb3JjZSB0
aGUgdXNlIG9mIEpJVHRlZCBjb2RlIHdoaWNoIGlzIG5lY2Vzc2FyeSBmb3IKICAgICAvLyByZXBy
b2R1Y2luZyB0aGUgcmVncmVzc2lvbiBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ4NzQ5LiBIb3dldmVyLCB3ZSBvbmx5CiAgICAgLy8gd2FudCB0byBkbyB0aGlz
IGlmIHRoZSBMTElOVCBpc24ndCB0aGUgb25seSBhdmFpbGFibGUgZXhlY3V0aW9uIGVuZ2luZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5NmUzM2EyMDU3N2E0YTU3NTRh
MWZlYTk0MzJkNzk2NDA2MTI0MzIyLi4zMzYwOWE1Y2UyYzA5MGM0ZDAzYjU2OGFjYjNmZmZhMjFj
OTQ0NWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMzEsNyArMjMx
LDkgQEAgZWxzZSAoKQogICAgIGVuZGlmICgpCiAKICAgICBpZiAoTk9UIEVOQUJMRV9KSVQpCi0g
ICAgICAgIHNldChPRkZMSU5FX0FTTV9CQUNLRU5EICJDX0xPT1AiKQorICAgICAgICBpZiAoRU5B
QkxFX0NfTE9PUCkKKyAgICAgICAgICAgIHNldChPRkZMSU5FX0FTTV9CQUNLRU5EICJDX0xPT1Ai
KQorICAgICAgICBlbmRpZiAoKQogICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCkBAIC0yNjQsNyAr
MjY2LDcgQEAgYWRkX2RlcGVuZGVuY2llcyhMTEludE9mZnNldHNFeHRyYWN0b3IgSmF2YVNjcmlw
dENvcmVGb3J3YXJkaW5nSGVhZGVycykKICMgTExJbnRPZmZzZXRzRXh0cmFjdG9yIG1hdGNoZXMs
IG5vIG91dHB1dCBpcyBnZW5lcmF0ZWQuIFRvIG1ha2UgdGhpcyB0YXJnZXQgY29uc2lzdGVudCBh
bmQgYXZvaWQKICMgcnVubmluZyB0aGlzIGNvbW1hbmQgZm9yIGV2ZXJ5IGJ1aWxkLCB3ZSBhcnRp
ZmljaWFsbHkgdXBkYXRlIExMSW50QXNzZW1ibHkuaCdzIG10aW1lICh1c2luZyB0b3VjaCkKICMg
YWZ0ZXIgZXZlcnkgYXNtLnJiIHJ1bi4KLWlmIChNU1ZDIEFORCBFTkFCTEVfSklUKQoraWYgKE1T
VkMgQU5EIE5PVCBFTkFCTEVfQ19MT09QKQogICAgIHNldChMTEludE91dHB1dCBMb3dMZXZlbElu
dGVycHJldGVyV2luLmFzbSkKICAgICBzZXQoT0ZGTElORV9BU01fQVJHUyAtLWFzc2VtYmxlcj1N
QVNNKQogZWxzZSAoKQpAQCAtMjg0LDcgKzI4Niw3IEBAIGFkZF9jdXN0b21fY29tbWFuZCgKICMg
dGhlIC5jcHAgZmlsZXMgYmVsb3cgaXMgc2ltaWxhciB0byB0aGUgb25lIGluIHRoZSBwcmV2aW91
cyBjb21tZW50LiBIb3dldmVyLCBzaW5jZSB0aGVzZSAuY3BwCiAjIGZpbGVzIGFyZSB1c2VkIHRv
IGJ1aWxkIEphdmFTY3JpcHRDb3JlIGl0c2VsZiwgd2UgY2FuIGp1c3QgYWRkIExMSW50QXNzZW1i
bHkuaCB0byBKU0NfSEVBREVSUwogIyBzaW5jZSBpdCBpcyB1c2VkIGluIHRoZSBhZGRfbGlicmFy
eSgpIGNhbGwgYXQgdGhlIGVuZCBvZiB0aGlzIGZpbGUuCi1pZiAoTVNWQyBBTkQgRU5BQkxFX0pJ
VCkKK2lmIChNU1ZDIEFORCBOT1QgRU5BQkxFX0NfTE9PUCkKICAgICBlbmFibGVfbGFuZ3VhZ2Uo
QVNNX01BU00pCiAgICAgaWYgKENNQUtFX1NJWkVPRl9WT0lEX1AgRVFVQUwgNCkKICAgICAgICAg
IyBXaW4zMiBuZWVkcyAvc2FmZXNlaCB3aXRoIGFzc2VtYmx5LCBidXQgV2luNjQgZG9lcyBub3Qu
CkBAIC0xMTgyLDcgKzExODQsNyBAQCBhZGRfY3VzdG9tX2NvbW1hbmQoCiBsaXN0KEFQUEVORCBK
YXZhU2NyaXB0Q29yZV9IRUFERVJTICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCkKIAogaWYgKFdURl9DUFVfWDg2XzY0KQotICAgIGlm
IChNU1ZDIEFORCBFTkFCTEVfSklUKQorICAgIGlmIChNU1ZDIEFORCBOT1QgRU5BQkxFX0NfTE9P
UCkKICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKAogICAgICAgICAgICAgT1VUUFVUICR7REVS
SVZFRF9TT1VSQ0VTX0RJUn0vSklUU3R1YnNNU1ZDNjQub2JqCiAgICAgICAgICAgICBNQUlOX0RF
UEVOREVOQ1kgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2ppdC9KSVRTdHVic01TVkM2NC5hc20KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMzc3ODdmMmE3MWY1YWNiNjNkNmRkYWJmODUz
ZWQ1ODQzNjM2MWMxMS4uNzc0ZDk3NzYxY2YzNmY3YjZmZTM1YzM2NzA2MWJhNWE3YjA0YTI1MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOSw3ICsxMDksNiBAQAogCQkwRjBC
ODNBOTE0QkNGNTYyMDA4ODVCNEYgLyogSGFuZGxlckluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0E4MTRCQ0Y1NUUwMDg4NUI0RiAvKiBI
YW5kbGVySW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTBGMEI4M0FCMTRCQ0Y1QkIwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBCODNBQTE0
QkNGNUI5MDA4ODVCNEYgLyogRXhwcmVzc2lvblJhbmdlSW5mby5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMEI4M0IxMTRCQ0Y3MTgwMDg4NUI0
RiAvKiBDYWxsTGlua0luZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGMEI4M0FGMTRCQ0Y3MTQwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjBCODNCOTE0
QkNGOTVGMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMEI4M0I4MTRCQ0Y5
NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRlY29kZU9mZnNldC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGMENBRUZDMUVDNERB
NkIwMDk3MEQxMiAvKiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBDQUVGQTFFQzREQTYyMDA5NzBEMTIgLyog
SlNIZWFwRmluYWxpemVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTBGMENBRUZGMUVDNERBODgwMDk3MEQxMiAvKiBIZWFwRmluYWxp
emVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGMENBRUZFMUVDNERBODUwMDk3MEQxMiAvKiBIZWFwRmluYWxpemVyQ2FsbGJhY2suaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjBDRDRD
MjE1RjFBNjA3MDAzMkYxQzAgLyogUHV0RGlyZWN0SW5kZXhNb2RlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjBDRDRDMDE1RjFBNjA0MDAzMkYxQzAg
LyogUHV0RGlyZWN0SW5kZXhNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKQEAgLTIwMTIsNyArMjAxMSw2IEBACiAJCTBGMEI4M0FBMTRCQ0Y1Qjkw
MDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV4cHJlc3Npb25SYW5nZUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEYwQjgzQUUxNEJDRjcxNDAwODg1QjRGIC8qIENhbGxMaW5rSW5mby5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxsTGlua0luZm8uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRjBCODNBRjE0QkNGNzE0MDA4ODVCNEYgLyogQ2FsbExp
bmtJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGxMaW5rSW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwRjBCODNCODE0QkNGOTVCMDA4ODVCNEYg
LyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYwQ0FFRjkxRUM0REE2MjAwOTcwRDEyIC8qIEpTSGVh
cEZpbmFsaXplclByaXZhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNIZWFwRmluYWxpemVyUHJpdmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBGMENBRUZBMUVDNERBNjIwMDk3MEQxMiAvKiBKU0hlYXBGaW5hbGl6ZXJQcml2YXRlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSGVhcEZpbmFsaXplclByaXZhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYwQ0FFRkQxRUM0REE4NTAwOTcwRDEy
IC8qIEhlYXBGaW5hbGl6ZXJDYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBIZWFwRmluYWxpemVyQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNzYzNCw3ICs3NjMyLDYgQEAKIAkJCQkwRjkzMzI5NDE0Q0E3REMxMDA4NUYz
QzYgLyogQ2FsbExpbmtTdGF0dXMuaCAqLywKIAkJCQk2Mjc2NzMyMTFCNjgwQzFFMDBGRDlGMkUg
LyogQ2FsbE1vZGUuY3BwICovLAogCQkJCTYyNzY3MzIyMUI2ODBDMUUwMEZEOUYyRSAvKiBDYWxs
TW9kZS5oICovLAotCQkJCTBGMEI4M0I4MTRCQ0Y5NUIwMDg4NUI0RiAvKiBDYWxsUmV0dXJuT2Zm
c2V0VG9CeXRlY29kZU9mZnNldC5oICovLAogCQkJCTBGM0I3RTI0MTlBMTFCODAwMEQ5QkM1NiAv
KiBDYWxsVmFyaWFudC5jcHAgKi8sCiAJCQkJMEYzQjdFMjUxOUExMUI4MDAwRDlCQzU2IC8qIENh
bGxWYXJpYW50LmggKi8sCiAJCQkJOTY5QTA3OTAwRUQxRDNBRTAwRjFGNjgxIC8qIENvZGVCbG9j
ay5jcHAgKi8sCkBAIC04NDgzLDcgKzg0ODAsNiBAQAogCQkJCTBGMEI4M0IxMTRCQ0Y3MTgwMDg4
NUI0RiAvKiBDYWxsTGlua0luZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOTMzMjlFMTRDQTdE
QzUwMDg1RjNDNiAvKiBDYWxsTGlua1N0YXR1cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjI3Njcz
MjQxQjY4MEMxRTAwRkQ5RjJFIC8qIENhbGxNb2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjBC
ODNCOTE0QkNGOTVGMDA4ODVCNEYgLyogQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGM0I3RTJCMTlBMTFCODAwMEQ5QkM1NiAvKiBDYWxsVmFy
aWFudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU4MEMxOTcxRDc3NUNERDAwODUxMEMwIC8qIENh
dGNoU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMjRFNTQyMTdFQTlGNTkwMEFCQjIxNyAv
KiBDQ2FsbEhlbHBlcnMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2Fs
bC5oCmluZGV4IGM2ZjUzYjM0Nzk2NmM2NjM1NGQwMWY4YWQ2ZGNmYmNjODk3OWZmNzMuLjQzMjEz
MDVjNjhlNGRhZjYyODIzZjZlZWY3NTk1MWZhMjdhOTM2YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xv
d1BhdGhDYWxsLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyB0aGF0IGNh
biBiZSB1c2VkIGZvciBvdXRnb2luZyBhcmdzIHdoZW4gY2FsbGluZyBhIHNsb3cgcGF0aCBDIGZ1
bmN0aW9uCiAvLyBmcm9tIEpTIGNvZGUuCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxF
KEFTU0VNQkxFUikKIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0
aENhbGwgPSAwOwogCiAjZWxpZiBDUFUoWDg2XzY0KSAmJiBPUyhXSU5ET1dTKQpAQCAtNjksNyAr
NjksNyBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxs
ID0gNDA7CiAKIENPTVBJTEVfQVNTRVJUKCEobWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwg
JSBzaXplb2YoUmVnaXN0ZXIpKSwgZXh0ZW50X211c3RfYmVfaW5fbXVsdGlwbGVzX29mX3JlZ2lz
dGVycyk7CiAKLSNpZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAvLyBNYWtl
IHN1cmUgdGhhdCBjZnIgLSBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCBieXRlcyB3aWxs
IG1ha2UgdGhlIHN0YWNrIHBvaW50ZXIgYWxpZ25lZAogQ09NUElMRV9BU1NFUlQoKG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsICUgMTYpID09IDE2IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5k
UEMpLCBleHRlbnRfbXVzdF9hbGlnbl9zdGFja19mcm9tX2NhbGxmcmFtZV9wb2ludGVyKTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxSZXR1
cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMmQxYjAwY2JlODE4MTIyZjZlNzIwMjc3Y2NjZjIwNjZhYmY3ZWFhNi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQuaAorKysg
L2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBKU0MgewotCi0jaWYg
RU5BQkxFKEpJVCkKLS8vIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgdG8gbWFwIGZyb20gYSBjYWxs
IHJldHVybiBsb2NhdGlvbgotLy8gKGdpdmVuIGFzIGFuIG9mZnNldCBpbiBieXRlcyBpbnRvIHRo
ZSBKSVQgY29kZSkgYmFjayB0bwotLy8gdGhlIGJ5dGVjb2RlIGluZGV4IG9mIHRoZSBjb3JyZXNw
b25kaW5nIGJ5dGVjb2RlIG9wZXJhdGlvbi4KLS8vIFRoaXMgaXMgdGhlbiB1c2VkIHRvIGxvb2sg
dXAgdGhlIGNvcnJlc3BvbmRpbmcgaGFuZGxlci4KLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBt
YWRlIGlubGluaW5nIGF3YXJlISBDdXJyZW50bHkgaXQgaXNuJ3QKLS8vIGJlY2F1c2Ugd2UgbmV2
ZXIgaW5saW5lIGNvZGUgdGhhdCBoYXMgZXhjZXB0aW9uIGhhbmRsZXJzLgotc3RydWN0IENhbGxS
ZXR1cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0IHsKLSAgICBDYWxsUmV0dXJuT2Zmc2V0VG9CeXRl
Y29kZU9mZnNldCh1bnNpZ25lZCBjYWxsUmV0dXJuT2Zmc2V0LCB1bnNpZ25lZCBieXRlY29kZU9m
ZnNldCkKLSAgICAgICAgOiBjYWxsUmV0dXJuT2Zmc2V0KGNhbGxSZXR1cm5PZmZzZXQpCi0gICAg
ICAgICwgYnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpCi0gICAgewotICAgIH0KLQotICAg
IHVuc2lnbmVkIGNhbGxSZXR1cm5PZmZzZXQ7Ci0gICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQ7
Ci19OwotCi1pbmxpbmUgdW5zaWduZWQgZ2V0Q2FsbFJldHVybk9mZnNldChDYWxsUmV0dXJuT2Zm
c2V0VG9CeXRlY29kZU9mZnNldCogcGMpCi17Ci0gICAgcmV0dXJuIHBjLT5jYWxsUmV0dXJuT2Zm
c2V0OwotfQotI2VuZGlmCi0KLX0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCAyN2FmMGZkZTJjMDhjNWE1NGZiODE5
ZDFhY2MzYjEzNGU3NjMxNWUzLi42NTRjMTQ3MTc3ODRlYmY5NjE5ZjM1YjQ0Njc1OGFlOTAxNDAy
NGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApA
QCAtODksNyArODksNyBAQAogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1VuaXF1ZWRTdHJpbmdJbXBsLmg+CiAKLSNpZiBFTkFCTEUoSklUKQor
I2lmIEVOQUJMRShBU1NFTUJMRVIpCiAjaW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldExpc3QuaCIK
ICNlbmRpZgogCkBAIC01MDksNyArNTA5LDcgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSwgU2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKICAg
ICBpZiAoc2l6ZV90IHNpemUgPSB1bmxpbmtlZENvZGVCbG9jay0+bnVtYmVyT2ZPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZXMoKSkKICAgICAgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZXMgPSBS
ZWZDb3VudGVkQXJyYXk8T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU+KHNpemUpOwogCi0jaWYgRU5B
QkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJz
KFJlZ2lzdGVyU2V0OjpsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKICNlbmRp
ZgogCkBAIC0yMTQ1LDcgKzIxNDUsNyBAQCB1bnNpZ25lZCBDb2RlQmxvY2s6OnJlb3B0aW1pemF0
aW9uUmV0cnlDb3VudGVyKCkgY29uc3QKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQogCi0jaWYg
RU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKIHZvaWQgQ29kZUJsb2NrOjpzZXRDYWxs
ZWVTYXZlUmVnaXN0ZXJzKFJlZ2lzdGVyU2V0IGNhbGxlZVNhdmVSZWdpc3RlcnMpCiB7CiAgICAg
bV9jYWxsZWVTYXZlUmVnaXN0ZXJzID0gc3RkOjptYWtlX3VuaXF1ZTxSZWdpc3RlckF0T2Zmc2V0
TGlzdD4oY2FsbGVlU2F2ZVJlZ2lzdGVycyk7CkBAIC0yMTcyLDYgKzIxNzIsOSBAQCBzaXplX3Qg
Q29kZUJsb2NrOjpjYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKQogewogICAgIHJl
dHVybiByb3VuZENhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyhtX2NhbGxlZVNhdmVS
ZWdpc3RlcnMtPnNpemUoKSk7CiB9CisjZW5kaWYKKworI2lmIEVOQUJMRShKSVQpCiAKIHZvaWQg
Q29kZUJsb2NrOjpjb3VudFJlb3B0aW1pemF0aW9uKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCBhM2EzZDI2MzkwMGQzMTIyYzA5ZTIwNGYzMmI1
N2IzZTEwMWEzMmIyLi4wMTQ3ZDdhNzljODlkNjFmNDIzZmQ0ZGVkZDNjY2M2ZTFlNDIzN2JjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC02NDUsMTEg
KzY0NSwyMyBAQCBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgSlNDZWxsIHsKICAgICAvLyB0byBh
dm9pZCB0aHJhc2hpbmcuCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdW5zaWduZWQgcmVvcHRpbWl6
YXRpb25SZXRyeUNvdW50ZXIoKSBjb25zdDsKICAgICB2b2lkIGNvdW50UmVvcHRpbWl6YXRpb24o
KTsKLSNpZiBFTkFCTEUoSklUKQorCisjaWYgIUVOQUJMRShDX0xPT1ApCisgICAgdm9pZCBzZXRD
YWxsZWVTYXZlUmVnaXN0ZXJzKFJlZ2lzdGVyU2V0KTsKKyAgICB2b2lkIHNldENhbGxlZVNhdmVS
ZWdpc3RlcnMoc3RkOjp1bmlxdWVfcHRyPFJlZ2lzdGVyQXRPZmZzZXRMaXN0Pik7CisKKyAgICBS
ZWdpc3RlckF0T2Zmc2V0TGlzdCogY2FsbGVlU2F2ZVJlZ2lzdGVycygpIGNvbnN0IHsgcmV0dXJu
IG1fY2FsbGVlU2F2ZVJlZ2lzdGVycy5nZXQoKTsgfQorCiAgICAgc3RhdGljIHVuc2lnbmVkIG51
bWJlck9mTExJbnRCYXNlbGluZUNhbGxlZVNhdmVSZWdpc3RlcnMoKSB7IHJldHVybiBSZWdpc3Rl
clNldDo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVSZWdpc3RlcnMoKS5udW1iZXJPZlNldFJlZ2lz
dGVycygpOyB9CiAgICAgc3RhdGljIHNpemVfdCBsbGludEJhc2VsaW5lQ2FsbGVlU2F2ZVNwYWNl
QXNWaXJ0dWFsUmVnaXN0ZXJzKCk7CiAgICAgc2l6ZV90IGNhbGxlZVNhdmVTcGFjZUFzVmlydHVh
bFJlZ2lzdGVycygpOworI2Vsc2UKKyAgICBzdGF0aWMgdW5zaWduZWQgbnVtYmVyT2ZMTEludEJh
c2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpIHsgcmV0dXJuIDA7IH0KKyAgICBzdGF0aWMgc2l6
ZV90IGxsaW50QmFzZWxpbmVDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJl
dHVybiAwOyB9OworICAgIHNpemVfdCBjYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMo
KSB7IHJldHVybiAwOyB9CisjZW5kaWYKIAorI2lmIEVOQUJMRShKSVQpCiAgICAgdW5zaWduZWQg
bnVtYmVyT2ZERkdDb21waWxlcygpOwogCiAgICAgaW50MzJfdCBjb2RlVHlwZVRocmVzaG9sZE11
bHRpcGxpZXIoKSBjb25zdDsKQEAgLTczOSwxNCArNzUxLDcgQEAgY2xhc3MgQ29kZUJsb2NrIDog
cHVibGljIEpTQ2VsbCB7CiAgICAgYm9vbCBzaG91bGRSZW9wdGltaXplTm93KCk7CiAgICAgYm9v
bCBzaG91bGRSZW9wdGltaXplRnJvbUxvb3BOb3coKTsKIAotICAgIHZvaWQgc2V0Q2FsbGVlU2F2
ZVJlZ2lzdGVycyhSZWdpc3RlclNldCk7Ci0gICAgdm9pZCBzZXRDYWxsZWVTYXZlUmVnaXN0ZXJz
KHN0ZDo6dW5pcXVlX3B0cjxSZWdpc3RlckF0T2Zmc2V0TGlzdD4pOwotICAgIAotICAgIFJlZ2lz
dGVyQXRPZmZzZXRMaXN0KiBjYWxsZWVTYXZlUmVnaXN0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9j
YWxsZWVTYXZlUmVnaXN0ZXJzLmdldCgpOyB9CiAjZWxzZSAvLyBObyBKSVQKLSAgICBzdGF0aWMg
dW5zaWduZWQgbnVtYmVyT2ZMTEludEJhc2VsaW5lQ2FsbGVlU2F2ZVJlZ2lzdGVycygpIHsgcmV0
dXJuIDA7IH0KLSAgICBzdGF0aWMgc2l6ZV90IGxsaW50QmFzZWxpbmVDYWxsZWVTYXZlU3BhY2VB
c1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9OwotICAgIHNpemVfdCBjYWxsZWVTYXZl
U3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMoKSB7IHJldHVybiAwOyB9CiAgICAgdm9pZCBvcHRpbWl6
ZUFmdGVyV2FybVVwKCkgeyB9CiAgICAgdW5zaWduZWQgbnVtYmVyT2ZERkdDb21waWxlcygpIHsg
cmV0dXJuIDA7IH0KICNlbmRpZgpAQCAtOTY1LDggKzk3MCwxMCBAQCBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgSlNDZWxsIHsKICAgICBTZW50aW5lbExpbmtlZExpc3Q8TExJbnRDYWxsTGlua0lu
Zm8sIEJhc2ljUmF3U2VudGluZWxOb2RlPExMSW50Q2FsbExpbmtJbmZvPj4gbV9pbmNvbWluZ0xM
SW50Q2FsbHM7CiAgICAgU3RydWN0dXJlV2F0Y2hwb2ludE1hcCBtX2xsaW50R2V0QnlJZFdhdGNo
cG9pbnRNYXA7CiAgICAgUG9pc29uZWRSZWZQdHI8Q29kZUJsb2NrUG9pc29uLCBKSVRDb2RlPiBt
X2ppdENvZGU7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UmVnaXN0ZXJBdE9mZnNldExpc3Q+IG1fY2FsbGVlU2F2ZVJlZ2lzdGVyczsK
KyNlbmRpZgorI2lmIEVOQUJMRShKSVQpCiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29u
LCBTdHJ1Y3R1cmVTdHViSW5mbz4gbV9zdHViSW5mb3M7CiAgICAgUG9pc29uZWRCYWc8Q29kZUJs
b2NrUG9pc29uLCBKSVRBZGRJQz4gbV9hZGRJQ3M7CiAgICAgUG9pc29uZWRCYWc8Q29kZUJsb2Nr
UG9pc29uLCBKSVRNdWxJQz4gbV9tdWxJQ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvT3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
T3Bjb2RlLmgKaW5kZXggNGVmMjc0ZmFlYjM0YjAxZjhlY2JjNmQ0ZGY5NTQwMWM4OTk3ZGEzOC4u
YmUzODhlMTg5YzkzNzY2ZTRlMGRmYWIxMjJiYTUxNWM2MDE0MTY3YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9PcGNvZGUuaApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICN1bmRlZiBPUENPREVfSURfRU5VTQogCiBjb25zdCBpbnQgbWF4T3Bjb2RlTGVuZ3RoID0g
OTsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogY29uc3QgaW50IG51bU9w
Y29kZUlEcyA9IE5VTUJFUl9PRl9CWVRFQ09ERV9JRFMgKyBOVU1CRVJfT0ZfQ0xPT1BfQllURUNP
REVfSEVMUEVSX0lEUyArIE5VTUJFUl9PRl9CWVRFQ09ERV9IRUxQRVJfSURTOwogI2Vsc2UKIGNv
bnN0IGludCBudW1PcGNvZGVJRHMgPSBOVU1CRVJfT0ZfQllURUNPREVfSURTICsgTlVNQkVSX09G
X0JZVEVDT0RFX0hFTFBFUl9JRFM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCmluZGV4
IDdhNDZhNTJlN2EzNzg1NDAyYmYyMTM3N2QwODU0MWE0ZDU3Y2YwZDAuLmNjNGEzMzY1MWEyZjE5
NmZjYWZiMzJhY2MwYTYwM2Q5ODg4MjNmMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9oZWFwL0hlYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAu
Y3BwCkBAIC02NzIsNyArNjcyLDcgQEAgdm9pZCBIZWFwOjpnYXRoZXJTdGFja1Jvb3RzKENvbnNl
cnZhdGl2ZVJvb3RzJiByb290cykKIAogdm9pZCBIZWFwOjpnYXRoZXJKU1N0YWNrUm9vdHMoQ29u
c2VydmF0aXZlUm9vdHMmIHJvb3RzKQogewotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShD
X0xPT1ApCiAgICAgbV92bS0+aW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5nYXRoZXJDb25zZXJ2
YXRpdmVSb290cyhyb290cywgKm1faml0U3R1YlJvdXRpbmVzLCAqbV9jb2RlQmxvY2tzKTsKICNl
bHNlCiAgICAgVU5VU0VEX1BBUkFNKHJvb3RzKTsKQEAgLTE2MDUsOSArMTYwNSw4IEBAIHZvaWQg
SGVhcDo6c3RvcFRoZVBlcmlwaGVyeShHQ0NvbmR1Y3RvciBjb25uKQogICAgICAgICAgICAgJiYg
Y29ubiA9PSBHQ0NvbmR1Y3Rvcjo6Q29sbGVjdG9yKQogICAgICAgICAgICAgc2V0R0NEaWRKSVQo
KTsKICAgICB9Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICNlbmRpZiAvLyBFTkFC
TEUoSklUKQorICAgIFVOVVNFRF9QQVJBTShjb25uKTsKICAgICAKICAgICB2bSgpLT5zaGFkb3dD
aGlja2VuKCkudXBkYXRlKCp2bSgpLCB2bSgpLT50b3BDYWxsRnJhbWUpOwogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suY3BwCmluZGV4IGFi
YzEwYThmZWFkMjg2MTUxOTY5YmEyMjM1Y2IzNDdjN2U2MWU4NTcuLjlhMjAwNzI2NjI4OGI4YWRl
ZTNiODkwNTRlYjcyNjEyNTQ1NDI3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9DTG9vcFN0YWNrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJDTG9vcFN0YWNrLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNp
ZiBFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiQ0xvb3BTdGFja0lubGluZXMuaCIKICNpbmNs
dWRlICJDb25zZXJ2YXRpdmVSb290cy5oIgpAQCAtMTYzLDQgKzE2Myw0IEBAIHNpemVfdCBDTG9v
cFN0YWNrOjpjb21taXR0ZWRCeXRlQ291bnQoKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2Vu
ZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFjay5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NMb29wU3RhY2suaAppbmRleCA5ZTVkZGExNGIy
YmIwZDRmYzc3ZjVjN2Q2OTk0YTdiZjI3NzFmMWJiLi4xZjRkOTlkOGI0MzRlOWI0NzllNDgzN2Ey
OWRmZGMxYmM1YzdhYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ0xvb3BTdGFjay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DTG9vcFN0YWNrLmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiAh
RU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIK
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTEwNyw0ICsxMDcsNCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkK
KyNlbmRpZiAvLyBFTkFCTEUoQ19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0NMb29wU3RhY2tJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvQ0xvb3BTdGFja0lubGluZXMuaAppbmRleCA5OTdmYWY2NmNjMzc4ODhm
MTZjMmEzNWYwZGI1MjEzNTYzY2RjM2VlLi5mNmJhMTdjYzEwMDc2YzdmNDc5ZDk1ZjY2ZDViZGVk
MmJlYjU1ZTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
Q0xvb3BTdGFja0lubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvQ0xvb3BTdGFja0lubGluZXMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAKICNpbmNsdWRlICJDTG9v
cFN0YWNrLmgiCiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCkBAIC01OSw0ICs1OSw0IEBAIGlubGlu
ZSB2b2lkIENMb29wU3RhY2s6OnNldENMb29wU3RhY2tMaW1pdChSZWdpc3RlciogbmV3VG9wT2ZT
dGFjaykKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNl
bmRpZiAvLyBFTkFCTEUoQ19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0VudHJ5RnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9FbnRyeUZyYW1lLmgKaW5kZXggYmU4NDI1OTBmNmU5MGNjZGE2MTQ4ZmM2MGQwMWJiMjY3
YzRhNGM4Ni4uOTUwOTU4ZDkzNjViOGE1NWQ1NWIyOTY4OTc4NmFmYzAzNDNkOGU3NSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0VudHJ5RnJhbWUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvRW50cnlGcmFtZS5oCkBAIC0zMSw3
ICszMSw3IEBACiBuYW1lc3BhY2UgSlNDIHsKIAogc3RydWN0IEVudHJ5RnJhbWUgewotI2lmIEVO
QUJMRShKSVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJTID4gMAorI2lmICFF
TkFCTEUoQ19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKICAg
ICBzdGF0aWMgcHRyZGlmZl90IHZtRW50cnlSZWNvcmRPZmZzZXQoKQogICAgIHsKICAgICAgICAg
RW50cnlGcmFtZSogZmFrZUVudHJ5RnJhbWUgPSByZWludGVycHJldF9jYXN0PEVudHJ5RnJhbWUq
PigweDEwMDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRl
cnByZXRlci5jcHAKaW5kZXggNzEyNmQwMjlmNjIyM2IyZWEyMDAyNmE5MjY1ZGQ5NTJlYjQwNTI1
NS4uYmJjNjlkYjY5YjFlN2Y5ODQ0YzI3ODE0NjkyZTBiMGRmM2ZkZDdmZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC02Nyw2
ICs2Nyw3IEBACiAjaW5jbHVkZSAiUHJvdG9DYWxsRnJhbWUuaCIKICNpbmNsdWRlICJSZWdFeHBP
YmplY3QuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5oIgorI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZz
ZXRMaXN0LmgiCiAjaW5jbHVkZSAiU2NvcGVkQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiU3RhY2tB
bGlnbm1lbnQuaCIKICNpbmNsdWRlICJTdGFja0ZyYW1lLmgiCkBAIC0zMzIsNyArMzMzLDcgQEAg
dm9pZCBzZXR1cEZvcndhcmRBcmd1bWVudHNGcmFtZUFuZFNldFRoaXMoQ2FsbEZyYW1lKiBleGVj
Q2FsbGVyLCBDYWxsRnJhbWUqIGV4ZWMKIAogSW50ZXJwcmV0ZXI6OkludGVycHJldGVyKFZNJiB2
bSkKICAgICA6IG1fdm0odm0pCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkK
ICAgICAsIG1fY2xvb3BTdGFjayh2bSkKICNlbmRpZgogewpAQCAtNTYzLDcgKzU2NCw3IEBAIGNs
YXNzIFVud2luZEZ1bmN0b3IgewogcHJpdmF0ZToKICAgICB2b2lkIGNvcHlDYWxsZWVTYXZlc1Rv
RW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKFN0YWNrVmlzaXRvciYgdmlzaXRvcikgY29uc3QK
ICAgICB7Ci0jaWYgRU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RF
UlMgPiAwCisjaWYgIUVOQUJMRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVH
SVNURVJTID4gMAogICAgICAgICBSZWdpc3RlckF0T2Zmc2V0TGlzdCogY3VycmVudENhbGxlZVNh
dmVzID0gdmlzaXRvci0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygpOwogCiAgICAgICAgIGlmICghY3Vy
cmVudENhbGxlZVNhdmVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuaAppbmRleCAwOGQ2NWJhNWJhZTM3NjAxNmZhNDcxMjkyOGJjNGZiYWVkNDI1
NWZlLi44MTE3NTA2NjIzMjhhNjg3ZjFjNzY5ZWViMTI2NTcxYTEzMjM3Y2NlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaApAQCAtMzYsNyAr
MzYsNyBAQAogI2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KIAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAjaW5jbHVkZSAi
Q0xvb3BTdGFjay5oIgogI2VuZGlmCiAKQEAgLTkzLDcgKzkzLDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIEludGVycHJldGVyKFZNICYpOwogICAgICAgICB+SW50ZXJwcmV0ZXIoKTsKICAg
ICAgICAgCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICAgICAgQ0xv
b3BTdGFjayYgY2xvb3BTdGFjaygpIHsgcmV0dXJuIG1fY2xvb3BTdGFjazsgfQogI2VuZGlmCiAg
ICAgICAgIApAQCAtMTQ3LDcgKzE0Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU1Zh
bHVlIGV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYpOwogCiAgICAgICAgIFZNJiBtX3ZtOwotI2lm
ICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAgICAgICAgIENMb29wU3RhY2sgbV9j
bG9vcFN0YWNrOwogI2VuZGlmCiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAppbmRleCA2MDkxMWFiMWU1N2MxZDUxMjM3
ZDljYzdmNmEwOTY1ZWViMjdhNjI0Li4yZThjOWE2MmIyNmFjYjA0M2VmZTRiYjZmZDBlNDdlNjUw
ZjMxNjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcApAQCAtMjU3LDcgKzI1Nyw3IEBAIFJlZ2lzdGVyQXRPZmZzZXRMaXN0KiBT
dGFja1Zpc2l0b3I6OkZyYW1lOjpjYWxsZWVTYXZlUmVnaXN0ZXJzKCkKICAgICBpZiAoaXNJbmxp
bmVkRnJhbWUoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSNpZiBFTkFCTEUoSklUKSAm
JiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVTX1JFR0lTVEVSUyA+IDAKKyNpZiAhRU5BQkxFKENfTE9P
UCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMgPiAwCiAKICNpZiBFTkFCTEUo
V0VCQVNTRU1CTFkpCiAgICAgaWYgKGlzV2FzbUZyYW1lKCkpIHsKQEAgLTI3Myw3ICsyNzMsNyBA
QCBSZWdpc3RlckF0T2Zmc2V0TGlzdCogU3RhY2tWaXNpdG9yOjpGcmFtZTo6Y2FsbGVlU2F2ZVJl
Z2lzdGVycygpCiAgICAgaWYgKENvZGVCbG9jayogY29kZUJsb2NrID0gdGhpcy0+Y29kZUJsb2Nr
KCkpCiAgICAgICAgIHJldHVybiBjb2RlQmxvY2stPmNhbGxlZVNhdmVSZWdpc3RlcnMoKTsKIAot
I2VuZGlmIC8vIEVOQUJMRShKSVQpICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNURVJT
ID4gMAorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKSAmJiBOVU1CRVJfT0ZfQ0FMTEVFX1NBVkVT
X1JFR0lTVEVSUyA+IDAKIAogICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZNRW50cnlSZWNvcmQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9WTUVudHJ5UmVjb3JkLmgKaW5kZXggZWRiN2U3ZThj
OGJiYzI5ODVkMWM0MTVjYTQ1ZTlmNTBlZmM2YzZkMC4uMjFhZTM1YjY5MWRjM2VkZWE5ZmE3ZjBk
N2RhYjU5ZDdjMjZjYWVjMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1ZNRW50cnlSZWNvcmQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvVk1FbnRyeVJlY29yZC5oCkBAIC00Niw3ICs0Niw3IEBAIHN0cnVjdCBWTUVudHJ5UmVj
b3JkIHsKIAogICAgIEpTT2JqZWN0KiBjYWxsZWUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZTsg
fQogCi0jaWYgRU5BQkxFKEpJVCkgJiYgTlVNQkVSX09GX0NBTExFRV9TQVZFU19SRUdJU1RFUlMg
PiAwCisjaWYgIUVOQUJMRShDX0xPT1ApICYmIE5VTUJFUl9PRl9DQUxMRUVfU0FWRVNfUkVHSVNU
RVJTID4gMAogICAgIGludHB0cl90IGNhbGxlZVNhdmVSZWdpc3RlcnNCdWZmZXJbTlVNQkVSX09G
X0NBTExFRV9TQVZFU19SRUdJU1RFUlNdOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggMThiZGU0MWNlNGYxNDg5Mzky
ZDU5ZWUyNmNiMjNjMmYyNDRiMjg0Ny4uMDc3ZWQ1ODJlYTk0OGE0MTQxZGRhZTI3N2QwYjQ0ZWQ0
MzUwN2ZiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxl
QWxsb2NhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxs
b2NhdG9yLmgKQEAgLTE0NSw3ICsxNDUsNyBAQCBjbGFzcyBFeGVjdXRhYmxlQWxsb2NhdG9yIHsK
IAogI2Vsc2UKIGlubGluZSBib29sIGlzSklUUEModm9pZCopIHsgcmV0dXJuIGZhbHNlOyB9Ci0j
ZW5kaWYgLy8gRU5BQkxFKEpJVCkgJiYgRU5BQkxFKEFTU0VNQkxFUikKKyNlbmRpZiAvLyBFTkFC
TEUoQVNTRU1CTEVSKQogCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9GUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0ZQUkluZm8uaAppbmRleCBhMjRkMWNiNzVhM2ZmOTliNjM4OTVlYmJkMTc5YWU2MTQyZGE1NmVj
Li40OGY0MDIyZWRlM2E3YjI3OGI4ZWI1MWM2ZmU4YTNkN2MyMTcyYjZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ZQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0ZQUkluZm8uaApAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIHR5
cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkZQUmVnaXN0ZXJJRCBGUFJSZWc7CiBzdGF0aWMgY29uc3Rl
eHByIEZQUlJlZyBJbnZhbGlkRlBSUmVnIHsgRlBSUmVnOjpJbnZhbGlkRlBSUmVnIH07CiAKLSNp
ZiBFTkFCTEUoSklUKQorI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpZiBDUFUoWDg2KSB8fCBD
UFUoWDg2XzY0KQogCkBAIC0zMzIsNyArMzMyLDcgQEAgY2xhc3MgRlBSSW5mbyB7CiAvLyBXZSB1
c2UgdGhpcyBoYWNrIHRvIGdldCB0aGUgRlBSSW5mbyBmcm9tIHRoZSBGUFJSZWcgdHlwZSBpbiB0
ZW1wbGF0ZXMgYmVjYXVzZSBvdXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVsIGJhZC4u
CiBjb25zdGV4cHIgRlBSSW5mbyB0b0luZm9Gcm9tUmVnKEZQUlJlZykgeyByZXR1cm4gRlBSSW5m
bygpOyB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJM
RVIpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCkBAIC0zNDAsNyArMzQwLDcgQEAgbmFtZXNwYWNl
IFdURiB7CiAKIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlND
OjpGUFJSZWcgcmVnKQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikK
ICAgICBvdXQucHJpbnQoIiUiLCBKU0M6OkZQUkluZm86OmRlYnVnTmFtZShyZWcpKTsKICNlbHNl
CiAgICAgb3V0LnByaW50ZigiJSVmciVkIiwgcmVnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvR1BSSW5mby5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQ
UkluZm8uY3BwCmluZGV4IDVhODAwNWY5Yjg1ZDFjMGNmOThlMGMzMDNmZTkxYWE1MTZkNTk5MmYu
LmFmOGUzNTgwNzRjZDQ1MzM4ZDQ2NTQ5MWE1MmUwMjFhODcwN2JmZWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HUFJJbmZvLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxF
KEFTU0VNQkxFUikKIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQ4LDQgKzQ4LDQgQEAgY29uc3Qg
R1BSUmVnIEdQUkluZm86OnBhdGNocG9pbnRTY3JhdGNoUmVnaXN0ZXIgPSBBUk02NFJlZ2lzdGVy
czo6aXAwOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgK
aW5kZXggMmQzNzRlM2I4NTlkM2RhYzc2ZmI4ZjRkZmMwOGExMGYxMzAwZTg3NC4uODA1NDQ5Zjdi
MTU3ZjIxMzRhNzFkM2Q5OGFmMzhlNjk5MWZmNzQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9H
UFJJbmZvLmgKQEAgLTQxLDcgKzQxLDcgQEAgZW51bSBOb1Jlc3VsdFRhZyB7IE5vUmVzdWx0IH07
CiB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIEdQUlJlZzsKIHN0YXRpYyBjb25z
dGV4cHIgR1BSUmVnIEludmFsaWRHUFJSZWcgeyBHUFJSZWc6OkludmFsaWRHUFJSZWcgfTsKIAot
I2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2lmIFVTRShKU1ZBTFVF
NjQpCiBjbGFzcyBKU1ZhbHVlUmVncyB7CkBAIC04MTYsNyArODE2LDcgQEAgaW5saW5lIE5vUmVz
dWx0VGFnIGV4dHJhY3RSZXN1bHQoTm9SZXN1bHRUYWcpIHsgcmV0dXJuIE5vUmVzdWx0OyB9CiAv
LyBXZSB1c2UgdGhpcyBoYWNrIHRvIGdldCB0aGUgR1BSSW5mbyBmcm9tIHRoZSBHUFJSZWcgdHlw
ZSBpbiB0ZW1wbGF0ZXMgYmVjYXVzZSBvdXIgY29kZSBpcyBiYWQgYW5kIHdlIHNob3VsZCBmZWVs
IGJhZC4uCiBjb25zdGV4cHIgR1BSSW5mbyB0b0luZm9Gcm9tUmVnKEdQUlJlZykgeyByZXR1cm4g
R1BSSW5mbygpOyB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShB
U1NFTUJMRVIpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCkBAIC04MjQsNyArODI0LDcgQEAgbmFt
ZXNwYWNlIFdURiB7CiAKIGlubGluZSB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91
dCwgSlNDOjpHUFJSZWcgcmVnKQogewotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VN
QkxFUikKICAgICBvdXQucHJpbnQoIiUiLCBKU0M6OkdQUkluZm86OmRlYnVnTmFtZShyZWcpKTsK
ICNlbHNlCiAgICAgb3V0LnByaW50ZigiJSVyJWQiLCByZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5jcHAKaW5kZXggZThkMDE5MTZiOWM1
OTA0Nzk1Y2NjNWRiNmM0ZTZjZTgzNjExMTMwMi4uMTM3NWJiOTJjYzBkZWJiY2I3ZWFlZTAyNThk
YjEwZjJmYmQ5NTgxMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0
Q2FsbFJldHVyblZhbHVlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0hvc3RD
YWxsUmV0dXJuVmFsdWUuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogCisjaWYgIUVOQUJMRShDX0xPT1Ap
CisKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC0zNSw3ICszNywxMDkgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKLS8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuCisvLyBOb3RlOiBnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSgpIG5lZWRzIHRvIGJlIHBsYWNlZCBiZWZvcmUgdGhlCisv
LyBkZWZpbml0aW9uIG9mIGdldEhvc3RDYWxsUmV0dXJuVmFsdWUoKSBiZWxvdyBiZWNhdXNlIHRo
ZSBXaW5kb3dzIGJ1aWxkCisvLyByZXF1aXJlcyBpdC4KK2V4dGVybiAiQyIgRW5jb2RlZEpTVmFs
dWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
dGhFeGVjU3RhdGUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIGlmICghZXhlYykKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlKCkpOworICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoZXhlYy0+dm0oKS5ob3N0Q2FsbFJldHVyblZhbHVlKTsKK30KKworI2lmIENPTVBJTEVS
KEdDQ19PUl9DTEFORykgJiYgQ1BVKFg4Nl82NCkKK2FzbSAoCisiLmdsb2JsICIgU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2Fs
bFJldHVyblZhbHVlKSAiXG4iCitTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUp
ICI6IiAiXG4iCisgICAgImxlYSAtOCglcnNwKSwgJXJkaVxuIgorICAgICJqbXAgIiBMT0NBTF9S
RUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKKyk7CisK
KyNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKFg4NikKK2FzbSAoCisiLnRleHQi
ICJcbiIgXAorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkg
IlxuIgorSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgorICAgICJwdXNoICVlYnBcbiIK
KyAgICAibW92ICVlc3AsICVlYXhcbiIKKyAgICAibGVhbCAtNCglZXNwKSwgJWVzcFxuIgorICAg
ICJwdXNoICVlYXhcbiIKKyAgICAiY2FsbCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorICAgICJsZWFsIDgoJWVzcCksICVlc3BcbiIK
KyAgICAicG9wICVlYnBcbiIKKyAgICAicmV0XG4iCispOworCisjZWxpZiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpICYmIENQVShBUk1fVEhVTUIyKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5hbGln
biAyIiAiXG4iCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KSAiXG4iCitISURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCisiLnRodW1i
IiAiXG4iCisiLnRodW1iX2Z1bmMgIiBUSFVNQl9GVU5DX1BBUkFNKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJc
biIKKyAgICAic3ViIHIwLCBzcCwgIzgiICJcbiIKKyAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorKTsKKworI2VsaWYgQ09N
UElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQorYXNtICgKKyIudGV4
dCIgIlxuIgorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkg
IlxuIgorSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgorSU5MSU5FX0FS
TV9GVU5DVElPTihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKQorU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgorICAgICJzdWIgcjAsIHNwLCAjOCIgIlxuIgorICAg
ICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KSAiXG4iCispOworCisjZWxpZiBDUFUoQVJNNjQpCithc20gKAorIi50ZXh0IiAiXG4iCisiLmFs
aWduIDIiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFs
dWUpICJcbiIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKK1NZTUJP
TF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAgICAgInN1YiB4MCwg
c3AsICMxNiIgIlxuIgorICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVy
blZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgorKTsKKworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NM
QU5HKSAmJiBDUFUoTUlQUykKKworI2lmIFdURl9NSVBTX1BJQworI2RlZmluZSBMT0FEX0ZVTkNU
SU9OX1RPX1Q5KGZ1bmN0aW9uKSBcCisgICAgICAgICIuc2V0IG5vcmVvcmRlciIgIlxuIiBcCisg
ICAgICAgICIuY3Bsb2FkICQyNSIgIlxuIiBcCisgICAgICAgICIuc2V0IHJlb3JkZXIiICJcbiIg
XAorICAgICAgICAibGEgJHQ5LCAiIExPQ0FMX1JFRkVSRU5DRShmdW5jdGlvbikgIlxuIgorI2Vs
c2UKKyNkZWZpbmUgTE9BRF9GVU5DVElPTl9UT19UOShmdW5jdGlvbikgIiIgIlxuIgorI2VuZGlm
CisKK2FzbSAoCisiLnRleHQiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RD
YWxsUmV0dXJuVmFsdWUpICJcbiIKK0hJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUp
ICJcbiIKK1NZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKKyAg
ICBMT0FEX0ZVTkNUSU9OX1RPX1Q5KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KQorICAgICJhZGRpICRhMCwgJHNwLCAtOCIgIlxuIgorICAgICJiICIgTE9DQUxfUkVGRVJFTkNF
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCispOworCisjZWxpZiBD
T01QSUxFUihNU1ZDKSAmJiBDUFUoWDg2KQorZXh0ZXJuICJDIiB7CisgICAgX19kZWNsc3BlYyhu
YWtlZCkgRW5jb2RlZEpTVmFsdWUgSE9TVF9DQUxMX1JFVFVSTl9WQUxVRV9PUFRJT04gZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSgpCisgICAgeworICAgICAgICBfX2FzbSBsZWEgZWF4LCBbZXNwIC0g
NF0KKyAgICAgICAgX19hc20gbW92IFtlc3AgKyA0XSwgZWF4OworICAgICAgICBfX2FzbSBqbXAg
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUKKyAgICB9Cit9CisjZW5kaWYKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCiAKKyNlbmRpZiAvLyAhRU5BQkxFKENfTE9PUCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSG9zdENhbGxSZXR1cm5WYWx1ZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKaW5kZXggNjJlYjJh
NTY2Yjk4MTAyMDI3NzIzYTI3MjZhZWY0NzI2YWViZDZjZS4uZDIxMWQxNGQ4Njk0Y2UwNWQ5OGI0
ZDM2MDM0Y2RjNmZiOTEyNDcyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9Ib3N0Q2FsbFJldHVyblZhbHVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9I
b3N0Q2FsbFJldHVyblZhbHVlLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkpTQ0pT
VmFsdWUuaCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAKICNpZiBD
QUxMSU5HX0NPTlZFTlRJT05fSVNfU1REQ0FMTAogI2RlZmluZSBIT1NUX0NBTExfUkVUVVJOX1ZB
TFVFX09QVElPTiBDREVDTApAQCAtNTcsNCArNTcsNCBAQCBpbmxpbmUgdm9pZCBpbml0aWFsaXpl
SG9zdENhbGxSZXR1cm5WYWx1ZSgpIHsgfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlm
IC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gIUVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBiMmViNDE4Y2ZmODlkNTIzMDIy
YTYxYWRiMGI4YmU0ZjY4ODAyZTYyLi43YWFjZjZiMWMxNmY5MjE1YTJkODY1ODY2ZjNkMmMzYTg5
MWQ0ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAK
QEAgLTI5MDgsMTA5ICsyOTA4LDYgQEAgaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNo
ZWNrSWZFeGNlcHRpb25Jc1VuY2F0Y2hhYmxlQW5kTm90aWZ5UHJvZmlsZXIoRXgKIAogfSAvLyBl
eHRlcm4gIkMiCiAKLS8vIE5vdGU6IGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KCkgbmVlZHMgdG8gYmUgcGxhY2VkIGJlZm9yZSB0aGUKLS8vIGRlZmluaXRpb24gb2YgZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZSgpIGJlbG93IGJlY2F1c2UgdGhlIFdpbmRvd3MgYnVpbGQKLS8vIHJl
cXVpcmVzIGl0LgotZXh0ZXJuICJDIiBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZB
TFVFX09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVjU3RhdGUq
IGV4ZWMpCi17Ci0gICAgaWYgKCFleGVjKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEpTVmFsdWUoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShleGVjLT52bSgpLmhvc3RD
YWxsUmV0dXJuVmFsdWUpOwotfQotCi0jaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKSAmJiBDUFUo
WDg2XzY0KQotYXNtICgKLSIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLVNZ
TUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKLSAgICAibGVhIC04
KCVyc3ApLCAlcmRpXG4iCi0gICAgImptcCAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlV2l0aEV4ZWNTdGF0ZSkgIlxuIgotKTsKLQotI2VsaWYgQ09NUElMRVIoR0NDX09S
X0NMQU5HKSAmJiBDUFUoWDg2KQotYXNtICgKLSIudGV4dCIgIlxuIiBcCi0iLmdsb2JsICIgU1lN
Qk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRI
b3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1TWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICI6IiAiXG4iCi0gICAgInB1c2ggJWVicFxuIgotICAgICJtb3YgJWVzcCwgJWVheFxu
IgotICAgICJsZWFsIC00KCVlc3ApLCAlZXNwXG4iCi0gICAgInB1c2ggJWVheFxuIgotICAgICJj
YWxsICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRl
KSAiXG4iCi0gICAgImxlYWwgOCglZXNwKSwgJWVzcFxuIgotICAgICJwb3AgJWVicFxuIgotICAg
ICJyZXRcbiIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKEFSTV9U
SFVNQjIpCi1hc20gKAotIi50ZXh0IiAiXG4iCi0iLmFsaWduIDIiICJcbiIKLSIuZ2xvYmwgIiBT
WU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLUhJREVfU1lNQk9MKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKLSIudGh1bWIiICJcbiIKLSIudGh1bWJfZnVuYyAi
IFRIVU1CX0ZVTkNfUEFSQU0oZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAgICJzdWIgcjAsIHNwLCAj
OCIgIlxuIgotICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVX
aXRoRXhlY1N0YXRlKSAiXG4iCi0pOwotCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYm
IENQVShBUk1fVFJBRElUSU9OQUwpCi1hc20gKAotIi50ZXh0IiAiXG4iCi0iLmdsb2JsICIgU1lN
Qk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1ISURFX1NZTUJPTChnZXRI
b3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCi1JTkxJTkVfQVJNX0ZVTkNUSU9OKGdldEhvc3RDYWxs
UmV0dXJuVmFsdWUpCi1TWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAi
XG4iCi0gICAgInN1YiByMCwgc3AsICM4IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0Uo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENQ
VShBUk02NCkKLWFzbSAoCi0iLnRleHQiICJcbiIKLSIuYWxpZ24gMiIgIlxuIgotIi5nbG9ibCAi
IFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotSElERV9TWU1CT0wo
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJl
dHVyblZhbHVlKSAiOiIgIlxuIgotICAgICAic3ViIHgwLCBzcCwgIzE2IiAiXG4iCi0gICAgICJi
ICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAi
XG4iCi0pOwotCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShNSVBTKQotCi0j
aWYgV1RGX01JUFNfUElDCi0jZGVmaW5lIExPQURfRlVOQ1RJT05fVE9fVDkoZnVuY3Rpb24pIFwK
LSAgICAgICAgIi5zZXQgbm9yZW9yZGVyIiAiXG4iIFwKLSAgICAgICAgIi5jcGxvYWQgJDI1IiAi
XG4iIFwKLSAgICAgICAgIi5zZXQgcmVvcmRlciIgIlxuIiBcCi0gICAgICAgICJsYSAkdDksICIg
TE9DQUxfUkVGRVJFTkNFKGZ1bmN0aW9uKSAiXG4iCi0jZWxzZQotI2RlZmluZSBMT0FEX0ZVTkNU
SU9OX1RPX1Q5KGZ1bmN0aW9uKSAiIiAiXG4iCi0jZW5kaWYKLQotYXNtICgKLSIudGV4dCIgIlxu
IgotIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgot
SElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgotU1lNQk9MX1NUUklORyhn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAgIExPQURfRlVOQ1RJT05fVE9fVDko
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpCi0gICAgImFkZGkgJGEwLCAkc3As
IC04IiAiXG4iCi0gICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZVdpdGhFeGVjU3RhdGUpICJcbiIKLSk7Ci0KLSNlbGlmIENPTVBJTEVSKE1TVkMpICYmIENQVShY
ODYpCi1leHRlcm4gIkMiIHsKLSAgICBfX2RlY2xzcGVjKG5ha2VkKSBFbmNvZGVkSlNWYWx1ZSBI
T1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkKLSAg
ICB7Ci0gICAgICAgIF9fYXNtIGxlYSBlYXgsIFtlc3AgLSA0XQotICAgICAgICBfX2FzbSBtb3Yg
W2VzcCArIDRdLCBlYXg7Ci0gICAgICAgIF9fYXNtIGptcCBnZXRIb3N0Q2FsbFJldHVyblZhbHVl
V2l0aEV4ZWNTdGF0ZQotICAgIH0KLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAog
I2VuZGlmIC8vIEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zTVNWQzY0LmNwcAppbmRleCA1NDRiY2EzOTQ2YzE5NDVlYzAwM2IyYzBkNTMx
ZTYwNzVlOTIzYzg0Li4wYTM3YmY3NmMxZjI2ZTkzMGJiOGY2NmZmMWZmZTRlNThjODY2MjNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnNNU1ZDNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9uc01TVkM2NC5j
cHAKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgIUVOQUJM
RShKSVQpICYmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODZfNjQpCisjaWYgRU5BQkxFKENfTE9P
UCkgJiYgQ09NUElMRVIoTVNWQykgJiYgQ1BVKFg4Nl82NCkKIAogI2luY2x1ZGUgIkNhbGxGcmFt
ZS5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTQzLDQgKzQzLDQgQEAgZXh0ZXJuICJD
IiBFbmNvZGVkSlNWYWx1ZSBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4ZWNTdGF0ZShFeGVj
U3RhdGUqKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKSAm
JiBDT01QSUxFUihNU1ZDKSAmJiBDUFUoWDg2XzY0KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1Ap
ICYmIENPTVBJTEVSKE1TVkMpICYmIENQVShYODZfNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZy5j
cHAKaW5kZXggNGFhOTY1Mzc0NzQxODRiMTEzNDAxYWUwY2NkOTQ4MWUyMjc1MTA0Yi4uM2NjNDlj
MDNkODY4ODlkNGM0Y2RhMGU3ZTM3ZTJiOWFhMjQwMWJmYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWcuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IlJlZy5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5j
bHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKQEAgLTU0LDUgKzU0LDUgQEAg
dm9pZCBSZWc6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2Ug
SlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIp
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZy5oCmluZGV4IDg0YWUzNTkwNDc2OGNmYTFmZTBkMjdhYzVl
ZTU2MDY1M2Q3ODhiMDcuLjlkMjQ2YWRlNWJjNzEwNTAwYjdmNzE3Mzk2ZDEyMTdiM2VkMjBmNWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWcuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUg
Ik1hY3JvQXNzZW1ibGVyLmgiCiAKQEAgLTI0NSw0ICsyNDUsNCBAQCB0ZW1wbGF0ZTw+IHN0cnVj
dCBIYXNoVHJhaXRzPEpTQzo6UmVnPiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxKU0M6OlJlZz4g
ewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYg
Ly8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVnaXN0ZXJBdE9mZnNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lz
dGVyQXRPZmZzZXQuY3BwCmluZGV4IDE2YTYzOWNhOGM3OTYyNjBlZjM1NzYwNTYxOTQ3NzU5ZTFl
ZTI1OGUuLjBlNDRlMmRiMTFlODA1ZDA0M2UzMGRjZjE0Mjg5NWVhMGM4YTVkNzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0LmNwcApAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyQXRPZmZzZXQu
aCIKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogbmFtZXNwYWNl
IEpTQyB7CiAKQEAgLTQxLDUgKzQxLDUgQEAgdm9pZCBSZWdpc3RlckF0T2Zmc2V0OjpkdW1wKFBy
aW50U3RyZWFtJiBvdXQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8g
RU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5oCmluZGV4IDBkYjhkYTRhNzI2MWI4Yjhi
NzAwYzEwM2ZiMzUyYjhlNWFlMmIyZjMuLmNkNDE1YjZkNjY5ZjkzOWZmMWQzNWNmMzFjN2NkN2I0
YTIwZTkyYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJB
dE9mZnNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNl
dC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkK
KyNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiUmVnLmgiCiAjaW5jbHVkZSA8d3Rm
L1ByaW50U3RyZWFtLmg+CkBAIC03NCw0ICs3NCw0IEBAIGNsYXNzIFJlZ2lzdGVyQXRPZmZzZXQg
ewogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYg
Ly8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVnaXN0ZXJBdE9mZnNldExpc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlckF0T2Zmc2V0TGlzdC5jcHAKaW5kZXggZGQ1YjViMzJmMzdhZDBkZGJhM2M3M2JhNThh
NTA3NmQzZTI5OTQ0OC4uNmZlMDZlNzc2MmI0YTQ3OWRkMDUxNDY4NjBhYWU5YjRkZDFhM2ZiZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlz
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlz
dC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJS
ZWdpc3RlckF0T2Zmc2V0TGlzdC5oIgogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQVNT
RU1CTEVSKQogCiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+CiAKQEAgLTY4LDUgKzY4LDUgQEAg
dW5zaWduZWQgUmVnaXN0ZXJBdE9mZnNldExpc3Q6OmluZGV4T2YoUmVnIHJlZykgY29uc3QKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVO
QUJMRShBU1NFTUJMRVIpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
UmVnaXN0ZXJBdE9mZnNldExpc3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0
ZXJBdE9mZnNldExpc3QuaAppbmRleCBlMGIyNTQxYWI4ZGM5MjNmZjcxZWQ0ODg3NjQ1MDYwNzVj
M2I5ZTNjLi41ZTNhM2NiMmNlMDI5MzQxMTk1N2Y2ODk5MzM5ZDY3N2Y0YTlmNDU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXRMaXN0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlckF0T2Zmc2V0TGlzdC5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiBFTkFC
TEUoQVNTRU1CTEVSKQogCiAjaW5jbHVkZSAiUmVnaXN0ZXJBdE9mZnNldC5oIgogI2luY2x1ZGUg
IlJlZ2lzdGVyU2V0LmgiCkBAIC02OSw0ICs2OSw0IEBAIGNsYXNzIFJlZ2lzdGVyQXRPZmZzZXRM
aXN0IHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlZ2lzdGVyTWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVy
TWFwLmgKaW5kZXggMGYzZjk1NzRmMWY5NWU2ZTAyZjhiYTQ3MTQxMDNmOGRiMTgyZGQ1Yi4uNWE3
Nzk3N2NhYTkxMmEwOTVlZGI2OGM3MDI0NTRkOWFmMThiYTAyZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3Rlck1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVnaXN0ZXJNYXAuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkZQ
UkluZm8uaCIKICNpbmNsdWRlICJHUFJJbmZvLmgiCkBAIC0xMDcsNCArMTA3LDQgQEAgY2xhc3Mg
RlBSTWFwIHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQor
I2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVn
aXN0ZXJTZXQuY3BwCmluZGV4IDg1MjU2ZjdiMTQ2MjU5OWFlYWVjNjdkOWUwNzg0MmRlNGM2MTVj
MTguLmE2MDIxNDFhYTg2NjFkZGFiZTkwMWIyZjQyNDQ5Y2VkMzlmZWU1NjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXJTZXQuaCIKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgIkdQUkluZm8uaCIKICNpbmNs
dWRlICJKU0NJbmxpbmVzLmgiCkBAIC0zOTUsNSArMzk1LDUgQEAgdm9pZCBSZWdpc3RlclNldDo6
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2Vu
ZGlmIC8vIEVOQUJMRShKSVQpCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5oCmluZGV4IGM4N2VhZjhjM2I1M2JjYzhmMzBj
MWNhZTg5Nzg2MDNkNGRjMGRjMjUuLmE2MTg4NTI5ZWRkMGNlNTFmZmVkMTFhNjIwYjM4YzA3ZTRl
MDExOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmgKQEAgLTI1LDcg
KzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUo
Q19MT09QKQogCiAjaW5jbHVkZSAiR1BSSW5mby5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVy
LmgiCkBAIC0yNDYsNCArMjQ2LDQgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgSGFzaFRyYWl0czxKU0M6
OlJlZ2lzdGVyU2V0PiA6IHB1YmxpYyBDdXN0b21IYXNoVHJhaXRzPEpTQzo6UmUKIAogfSAvLyBu
YW1lc3BhY2UgV1RGCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUo
Q19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0
ZXJTZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuY3Bw
CmluZGV4IDljMmU3M2Q0MzJiNmNhNmRiYWE1NmJiMDVlOGE5YjdmMjg0ODJmZDUuLjNmMzUyMWVh
MjYxNTZhN2QwYzFiNGMyZmNjNWJjMGJhZmYzNDA2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RlbXBSZWdpc3RlclNldC5jcHAKQEAgLTI2LDkgKzI2LDggQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJUZW1wUmVnaXN0ZXJTZXQuaCIKIAotI2lmIEVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAotI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNp
bmNsdWRlICJSZWdpc3RlclNldC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTUxLDQgKzUwLDQg
QEAgVGVtcFJlZ2lzdGVyU2V0OjpUZW1wUmVnaXN0ZXJTZXQoY29uc3QgUmVnaXN0ZXJTZXQmIG90
aGVyKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vIEVOQUJMRShKSVQpCisjZW5k
aWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RlbXBS
ZWdpc3RlclNldC5oCmluZGV4IDk5ODMyMjllZmFmYzQzZmU5MTcyNTZjODdkZGNlZTliMDgyNWZk
ZjUuLjY2MzgzZjU5Zjg4NTYyYWJjYmIwZjk1NjlhNDE1MzAwM2Q4MWI3MWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGVtcFJlZ2lzdGVyU2V0LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9UZW1wUmVnaXN0ZXJTZXQuaApAQCAtMjUsNyArMjUsNyBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgRU5BQkxFKEFTU0VNQkxFUikK
IAogI2luY2x1ZGUgIkZQUkluZm8uaCIKICNpbmNsdWRlICJHUFJJbmZvLmgiCkBAIC0yMDUsNyAr
MjA1LDcgQEAgY2xhc3MgVGVtcFJlZ2lzdGVyU2V0IHsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
LSNlbHNlIC8vIEVOQUJMRShKSVQpIC0+IHNvIGlmIEpJVCBpcyBkaXNhYmxlZAorI2Vsc2UgLy8g
RU5BQkxFKEFTU0VNQkxFUikgLT4gc28gaWYgSklUIGlzIGRpc2FibGVkCiAKIG5hbWVzcGFjZSBK
U0MgewogCkBAIC0yMTYsNCArMjE2LDQgQEAgc3RydWN0IFRlbXBSZWdpc3RlclNldCB7IH07CiAK
IH0gLy8gbmFtZXNwYWNlIEpTQwogCi0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBF
TkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50Q0xvb3AuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3Au
Y3BwCmluZGV4IGUzYzZjNmNlOTdlNWZkYTcwODk4OWI3ODFlZDM3NjI1ZjA5N2JjYzkuLmM4NGIx
ODljZjJjZGY4ZDRkNTIxMDEyZjExNDZiOTk4OGY0ZWZkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludENMb29wLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRDTG9vcC5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJMTEludENMb29wLmgiCiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNp
ZiBFTkFCTEUoQ19MT09QKQogCiAjaW5jbHVkZSAiTExJbnREYXRhLmgiCiAKQEAgLTQxLDQgKzQx
LDQgQEAgdm9pZCBDTG9vcDo6aW5pdGlhbGl6ZSgpCiB9IC8vIG5hbWVzcGFjZSBMTEludAogfSAv
LyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRpZiAvLyAhRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFC
TEUoQ19MT09QKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
Q0xvb3AuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludENMb29wLmgKaW5kZXgg
YTMxNTkxNDU1MWZiMGQ4Y2M2MTJiZWNkZGM0OGY5ZmNjYWNjMDVlMi4uMDJiMmYyNGRjYjAxYzdl
ZjlkZGM1MDE2ODQ1NGZjZThlOTI4YWU2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50Q0xvb3AuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRDTG9vcC5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgIUVO
QUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIK
ICNpbmNsdWRlICJPcGNvZGUuaCIKQEAgLTQ0LDQgKzQ0LDQgQEAgY2xhc3MgQ0xvb3AgewogCiB1
c2luZyBKU0M6OkxMSW50OjpDTG9vcDsKIAotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2VuZGlm
IC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnREYXRhLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEu
Y3BwCmluZGV4IDQxZjY0YjRhZmEzMWU4MTljZjU0YjlmYmNkODA4M2Y1YTMxMzZlNmYuLjBkZDA0
NTQzMzQ3OTc3YzU2NzNiZmVlYmRlMzhiOGM1MjFkMjdkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludERhdGEuY3BwCkBAIC00NiwxNiArNDYsMTYgQEAgbmFtZXNwYWNlIEpT
QyB7IG5hbWVzcGFjZSBMTEludCB7CiBJbnN0cnVjdGlvbiBEYXRhOjpzX2V4Y2VwdGlvbkluc3Ry
dWN0aW9uc1ttYXhPcGNvZGVMZW5ndGggKyAxXSA9IHsgfTsKIE9wY29kZSBEYXRhOjpzX29wY29k
ZU1hcFtudW1PcGNvZGVJRHNdID0geyB9OwogCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5BQkxF
KENfTE9PUCkKIGV4dGVybiAiQyIgdm9pZCBsbGludF9lbnRyeSh2b2lkKik7CiAjZW5kaWYKIAog
dm9pZCBpbml0aWFsaXplKCkKIHsKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09Q
KQogICAgIENMb29wOjppbml0aWFsaXplKCk7CiAKLSNlbHNlIC8vIEVOQUJMRShKSVQpCisjZWxz
ZSAvLyAhRU5BQkxFKENfTE9PUCkKICAgICBsbGludF9lbnRyeSgmRGF0YTo6c19vcGNvZGVNYXAp
OwogCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1PcGNvZGVJRHM7ICsraSkKQEAgLTY0LDcg
KzY0LDcgQEAgdm9pZCBpbml0aWFsaXplKCkKICAgICB2b2lkKiBoYW5kbGVyID0gRGF0YTo6c19v
cGNvZGVNYXBbbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZV07CiAgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBtYXhPcGNvZGVMZW5ndGggKyAxOyArK2kpCiAgICAgICAgIERhdGE6
OnNfZXhjZXB0aW9uSW5zdHJ1Y3Rpb25zW2ldLnUucG9pbnRlciA9IGhhbmRsZXI7Ci0jZW5kaWYg
Ly8gRU5BQkxFKEpJVCkKKyNlbmRpZiAvLyBFTkFCTEUoQ19MT09QKQogfQogCiBJR05PUkVfQ0xB
TkdfV0FSTklOR1NfQkVHSU4oIm1pc3Npbmctbm9yZXR1cm4iKQpAQCAtMTI1LDcgKzEyNSw3IEBA
IHZvaWQgRGF0YTo6cGVyZm9ybUFzc2VydGlvbnMoVk0mIHZtKQogICAgIFNUQVRJQ19BU1NFUlQo
VmFsdWVVbmRlZmluZWQgPT0gKFRhZ0JpdFR5cGVPdGhlciB8IFRhZ0JpdFVuZGVmaW5lZCkpOwog
ICAgIFNUQVRJQ19BU1NFUlQoVmFsdWVOdWxsID09IFRhZ0JpdFR5cGVPdGhlcik7CiAjZW5kaWYK
LSNpZiAoQ1BVKFg4Nl82NCkgJiYgIU9TKFdJTkRPV1MpKSB8fCBDUFUoQVJNNjQpIHx8ICFFTkFC
TEUoSklUKQorI2lmIChDUFUoWDg2XzY0KSAmJiAhT1MoV0lORE9XUykpIHx8IENQVShBUk02NCkg
fHwgIUVOQUJMRShBU1NFTUJMRVIpCiAgICAgU1RBVElDX0FTU0VSVCghbWF4RnJhbWVFeHRlbnRG
b3JTbG93UGF0aENhbGwpOwogI2VsaWYgQ1BVKEFSTSkKICAgICBTVEFUSUNfQVNTRVJUKG1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID09IDI0KTsKQEAgLTEzNSw3ICsxMzUsNyBAQCB2b2lk
IERhdGE6OnBlcmZvcm1Bc3NlcnRpb25zKFZNJiB2bSkKICAgICBTVEFUSUNfQVNTRVJUKG1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID09IDY0KTsKICNlbmRpZgogCi0jaWYgIUVOQUJMRShK
SVQpIHx8IFVTRShKU1ZBTFVFMzJfNjQpCisjaWYgRU5BQkxFKENfTE9PUCkgfHwgVVNFKEpTVkFM
VUUzMl82NCkKICAgICBBU1NFUlQoIUNvZGVCbG9jazo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVT
cGFjZUFzVmlydHVhbFJlZ2lzdGVycygpKTsKICNlbGlmIChDUFUoWDg2XzY0KSAmJiAhT1MoV0lO
RE9XUykpICB8fCBDUFUoQVJNNjQpCiAgICAgQVNTRVJUKENvZGVCbG9jazo6bGxpbnRCYXNlbGlu
ZUNhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycygpID09IDMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50RGF0YS5oCmluZGV4IGJlNThjMDBhZTVjNjZhYzMwNTgxYWUzZDQ4
NDk0MjhlNWJiMzAxZDAuLjljYTU3MTUyN2MwY2IyNDI0MGU3YjY3NjlkN2JjN2M5NGQ5MDc1MDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmgKQEAgLTM0LDcgKzM0LDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBWTTsKIHN0cnVjdCBJbnN0cnVjdGlvbjsKIAotI2lm
ICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiB0eXBlZGVmIE9wY29kZUlEIExMSW50
Q29kZTsKICNlbHNlCiB0eXBlZGVmIHZvaWQgKCpMTEludENvZGUpKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmgKaW5kZXggYTY0
MzdkNDAzYTQwYTk5MWY5NTU4ZTZlM2Y0MDc5M2M3ZGVjNzkyMy4uYmE2ZDUxNmQ1ZjNmODFhMDcz
N2I5NjIyNjllYzM2YjA3MjlmYzJjZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1
ZGUgPHd0Zi9HaWdhY2FnZS5oPgogI2luY2x1ZGUgPHd0Zi9Qb2lzb25lZC5oPgogCi0jaWYgIUVO
QUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICNkZWZpbmUgT0ZGTElORV9BU01fQ19MT09Q
IDEKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2IDAKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2X1dJ
TiAwCkBAIC00NSw3ICs0NSw3IEBACiAjZGVmaW5lIE9GRkxJTkVfQVNNX0FSTXY3cyAwCiAjZGVm
aW5lIE9GRkxJTkVfQVNNX01JUFMgMAogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQorI2Vsc2UgLy8g
RU5BQkxFKENfTE9PUCkKIAogI2RlZmluZSBPRkZMSU5FX0FTTV9DX0xPT1AgMAogCkBAIC0xMzcs
NyArMTM3LDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKICNpZiBVU0UoSlNWQUxVRTY0KQogI2RlZmluZSBPRkZM
SU5FX0FTTV9KU1ZBTFVFNjQgMQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50T3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPcGNv
ZGUuaAppbmRleCA4NTkwNWUzNzA0MzgyMzc4M2JkZjdiZmVjMTQ1NjdkMTQxMTVjMTg1Li44NGE5
ZmMyMTUwOTcxZGNiYjNhYzBjYjE2MWRmNmYzYjM4M2I2YzIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPcGNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRPcGNvZGUuaApAQCAtMjUsMTcgKzI1LDE3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogI2RlZmluZSBG
T1JfRUFDSF9MTElOVF9OT0pJVF9OQVRJVkVfSEVMUEVSKG1hY3JvKSBcCiAgICAgRk9SX0VBQ0hf
Q0xPT1BfQllURUNPREVfSEVMUEVSX0lEKG1hY3JvKQogCi0jZWxzZSAvLyBFTkFCTEUoSklUKQor
I2Vsc2UgLy8gIUVOQUJMRShDX0xPT1ApCiAKICNkZWZpbmUgRk9SX0VBQ0hfTExJTlRfTk9KSVRf
TkFUSVZFX0hFTFBFUihtYWNybykgXAotICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVXNlIHRo
ZSBKSVQgaW1wbCBpbnN0ZWFkLgorICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVXNlIHRoZSBM
TEludCBBU00gLyBKSVQgaW1wbCBpbnN0ZWFkLgogCi0jZW5kaWYgLy8gIUVOQUJMRShKSVQpCisj
ZW5kaWYgLy8gRU5BQkxFKENfTE9PUCkKIAogCiAjZGVmaW5lIEZPUl9FQUNIX0xMSU5UX05BVElW
RV9IRUxQRVIobWFjcm8pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFBDUmFuZ2VzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRQQ1Jh
bmdlcy5oCmluZGV4IDk0MjE4NWU4MjQ0NmU5YzI3YzhmNWZmMTQzZWVhNjA4NTUxOWFhNjMuLjgy
YmRjNTU5YjhhYjM4ZjdlODUyOTYyZjcyOWI5ZDlkOWNlNzM3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFBDUmFuZ2VzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50UENSYW5nZXMuaApAQCAtNDYsNyArNDYsNyBAQCBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNMTEludFBDKHZvaWQqIHBjKQogICAgIHJldHVybiBsbGludFN0YXJ0IDw9
IHBjQXNJbnQgJiYgcGNBc0ludCA8PSBsbGludEVuZDsKIH0KIAotI2lmIEVOQUJMRShKSVQpCisj
aWYgIUVOQUJMRShDX0xPT1ApCiBzdGF0aWMgY29uc3QgR1BSUmVnIExMSW50UEMgPSBHUFJJbmZv
OjpyZWdUNDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcAppbmRleCAzYzVmOWEyOTQyYjMwMDNmZTQyMTM4ZjdlNGRkYzNlYTBkZWVi
N2M0Li5jMWMyYzY3NDZhZTNhNTU3ZmNhM2U0ZGQ3ZjlkYTRkZTdhMjM5M2RhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTUzNiw3ICs1
MzYsNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzdGFja19jaGVjaykKICAgICAgICAgc2xvd1Bh
dGhMb2dGKCJOdW0gdmFycyA9ICV1LlxuIiwgY29kZUJsb2NrLT5udW1WYXJzKCkpOwogICAgIH0K
ICAgICBzbG93UGF0aExvZ0YoIkN1cnJlbnQgT1Mgc3RhY2sgZW5kIGlzIGF0ICVwLlxuIiwgdm0u
c29mdFN0YWNrTGltaXQoKSk7Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkK
ICAgICBzbG93UGF0aExvZ0YoIkN1cnJlbnQgQyBMb29wIHN0YWNrIGVuZCBpcyBhdCAlcC5cbiIs
IHZtLmNsb29wU3RhY2tMaW1pdCgpKTsKICNlbmRpZgogCkBAIC01NDcsNyArNTQ3LDcgQEAgTExJ
TlRfU0xPV19QQVRIX0RFQ0woc3RhY2tfY2hlY2spCiAgICAgLy8gRm9yIEpJVCBlbmFibGVkIGJ1
aWxkcyB3aGljaCB1c2VzIHRoZSBDIHN0YWNrLCB0aGUgc3RhY2sgaXMgbm90IGdyb3dhYmxlLgog
ICAgIC8vIEhlbmNlLCBpZiB3ZSBnZXQgaGVyZSwgdGhlbiB3ZSBrbm93IGEgc3RhY2sgb3ZlcmZs
b3cgaXMgaW1taW5lbnQuIFNvLCBqdXN0CiAgICAgLy8gdGhyb3cgdGhlIFN0YWNrT3ZlcmZsb3dF
cnJvciB1bmNvbmRpdGlvbmFsbHkuCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9P
UCkKICAgICBSZWdpc3RlciogdG9wT2ZGcmFtZSA9IGV4ZWMtPnRvcE9mRnJhbWUoKTsKICAgICBp
ZiAoTElLRUxZKHRvcE9mRnJhbWUgPCByZWludGVycHJldF9jYXN0PFJlZ2lzdGVyKj4oZXhlYykp
KSB7CiAgICAgICAgIEFTU0VSVCghdm0uaW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5jb250YWlu
c0FkZHJlc3ModG9wT2ZGcmFtZSkpOwpAQCAtMTg2MSw3ICsxODYxLDcgQEAgZXh0ZXJuICJDIiBT
bG93UGF0aFJldHVyblR5cGUgbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3dfZXJyb3IoVk0qIHZt
LCBQcm90b0NhbGwKICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogfQogCi0jaWYgIUVO
QUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5U
eXBlIGxsaW50X3N0YWNrX2NoZWNrX2F0X3ZtX2VudHJ5KFZNKiB2bSwgUmVnaXN0ZXIqIG5ld1Rv
cE9mU3RhY2spCiB7CiAgICAgYm9vbCBzdWNjZXNzID0gdm0tPmVuc3VyZVN0YWNrQ2FwYWNpdHlG
b3IobmV3VG9wT2ZTdGFjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCmluZGV4IDdjZmVjYTdhODE2ZDFkYzUzMGEzNDdlODZmYjlkNWZkMzYwYmNiODAu
LjlmZTFhYzViOWQwMzllZDdjM2E0ZmIwNzQ5ZTk2NDVhZGFkMjRhMjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC0xMzIsNyArMTMyLDcgQEAg
TExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5f
dGFpbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N1cGVyX3NhbXBs
ZXJfYmVnaW4pOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zdXBlcl9z
YW1wbGVyX2VuZCk7CiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19z
dGFja19vdmVyZmxvd19lcnJvcihWTSosIFByb3RvQ2FsbEZyYW1lKikgV1RGX0lOVEVSTkFMOwot
I2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBleHRlcm4gIkMiIFNsb3dQYXRo
UmV0dXJuVHlwZSBsbGludF9zdGFja19jaGVja19hdF92bV9lbnRyeShWTSosIFJlZ2lzdGVyKikg
V1RGX0lOVEVSTkFMOwogI2VuZGlmCiBleHRlcm4gIkMiIE5PX1JFVFVSTl9EVUVfVE9fQ1JBU0gg
dm9pZCBsbGludF9jcmFzaCgpIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRUaHVua3MuY3BwCmluZGV4IDI0NDZiZGJmZTc2Y2Y5NjI5NDAyNWRjNjU3NTdk
YTBlNDk5MzBlOGEuLjVjMTk0Y2Y1NGQyZWYzMDIwZTIxMzMwMjg5ZDlmZjVjMDk4NjE3MTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcApAQCAtOTgsOCAr
OTgsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8SklUVGh1bmtQdHJUYWc+IG1vZHVsZVByb2dy
YW1FbnRyeVRodW5rR2VuZXJhdG9yKFZNKiB2bSkKIAogfSAvLyBuYW1lc3BhY2UgTExJbnQKIAot
I2Vsc2UgLy8gRU5BQkxFKEpJVCkKKyNlbmRpZgogCisjaWYgRU5BQkxFKENfTE9PUCkKIC8vIE5v
bi1KSVQgKGkuZS4gQyBMb29wIExMSU5UKSBjYXNlOgogCiBFbmNvZGVkSlNWYWx1ZSB2bUVudHJ5
VG9KYXZhU2NyaXB0KHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBWTSogdm0sIFByb3RvQ2FsbEZy
YW1lKiBwcm90b0NhbGxGcmFtZSkKQEAgLTEyMiw3ICsxMjMsNiBAQCBleHRlcm4gIkMiIFZNRW50
cnlSZWNvcmQqIHZtRW50cnlSZWNvcmQoRW50cnlGcmFtZSogZW50cnlGcmFtZSkKICAgICByZXR1
cm4gcmVpbnRlcnByZXRfY2FzdDxWTUVudHJ5UmVjb3JkKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFy
Kj4oZW50cnlGcmFtZSkgLSBWTUVudHJ5VG90YWxGcmFtZVNpemUpOwogfQogCi0KLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKIH0gLy8gbmFtZXNwYWNl
IEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuY3BwCmluZGV4IDc4YmZmMDg4NGM0ODAyOTM5YTRkZTg2MGY3NmI1ODJlYWE5YTQyNjUu
LjQ3YmVhMmRmNTVlNjVkNGNjY2Y3ZjBkN2U1NjA5MDMxNTBiOTVjYmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAKQEAgLTI5
LDcgKzI5LDcgQEAKICNpbmNsdWRlICJMTEludE9mZmxpbmVBc21Db25maWcuaCIKICNpbmNsdWRl
IDx3dGYvSW5saW5lQVNNLmg+CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09Q
KQogI2luY2x1ZGUgIkJ5dGVjb2Rlcy5oIgogI2luY2x1ZGUgIkNMb29wU3RhY2tJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCkBAIC01NTksNCArNTU5LDQgQEAgSlNWYWx1ZSBDTG9v
cDo6ZXhlY3V0ZShPcGNvZGVJRCBlbnRyeU9wY29kZUlELCB2b2lkKiBleGVjdXRhYmxlQWRkcmVz
cywgVk0qIHZtLAogLy8gZm9yIHRoZSBpbnRlcnByZXRlciwgYXMgY29tcGlsZWQgZnJvbSBMb3dM
ZXZlbEludGVycHJldGVyLmFzbS4KICNpbmNsdWRlICJMTEludEFzc2VtYmx5LmgiCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuaAppbmRleCA4MzAwOGUx
MjI1YmY1M2RjZmNmZmRkYTAzODVkNmY3NmFlOTYyNzMwLi5lNGM5MDc0M2FjZjM5NDkwYTgzNTE3
NzQxYjNlYzk1Y2Y5ZDM2YjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmgKQEAgLTI3LDcgKzI3LDcgQEAKIAogI2luY2x1ZGUgIk9w
Y29kZS5oIgogCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9PUCkKIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTQ0LDQgKzQ0LDQgQEAgRk9SX0VBQ0hfQ09SRV9PUENPREVfSUQoTExJ
TlRfT1BDT0RFX0FMSUFTKQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAotI2VuZGlmIC8vICFFTkFC
TEUoSklUKQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NKU1ZhbHVlLmgKaW5kZXggNTQ0MjI3NzY5OWJlZjI1NmM0YmE2MjM0NmM5YWZi
MzA1Zjg1ZWQzOC4uZjdlNjU3NTVlZDgxOGQ1YmY2ZGY2ZTFjYzE5MmEyOGZjYTM3YTkzMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pTVmFsdWUuaApAQCAtNTksNyArNTks
NyBAQCBjbGFzcyBPU1JFeGl0Q29tcGlsZXI7CiBjbGFzcyBTcGVjdWxhdGl2ZUpJVDsKIH0KICNl
bmRpZgotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBuYW1lc3BhY2UgTExJ
bnQgewogY2xhc3MgQ0xvb3A7CiB9CkBAIC0xNDcsNyArMTQ3LDcgQEAgY2xhc3MgSlNWYWx1ZSB7
CiAgICAgZnJpZW5kIGNsYXNzIERGRzo6T1NSRXhpdENvbXBpbGVyOwogICAgIGZyaWVuZCBjbGFz
cyBERkc6OlNwZWN1bGF0aXZlSklUOwogI2VuZGlmCi0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5B
QkxFKENfTE9PUCkKICAgICBmcmllbmQgY2xhc3MgTExJbnQ6OkNMb29wOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVDb250ZXh0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCmluZGV4IDgz
NmQ3NTU2ODhiMTcyZmMxMmY4Yzc5NDgyYjBhNjA1ODUzMDVjNzkuLjQ2ZjE1NTQ1MWQwNjUxYjhi
MWZjY2JkMjVmNjJkYjkxMDI5ZmU5OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hY2hpbmVDb250ZXh0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTWFjaGluZUNvbnRleHQuaApAQCAtNTAsMTAgKzUwLDEwIEBAIGlubGluZSB2b2lkIHNl
dEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm9ybVJlZ2lzdGVycyYsIE1hY3JvQXNzZW1ibGVyQ29k
ZVB0cjxDRnVuCiAKIHRlbXBsYXRlPHNpemVfdCBOPiB2b2lkKiYgYXJndW1lbnRQb2ludGVyKFBs
YXRmb3JtUmVnaXN0ZXJzJik7CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQb2lu
dGVyKGNvbnN0IFBsYXRmb3JtUmVnaXN0ZXJzJik7Ci0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5B
QkxFKENfTE9PUCkKIHZvaWQqJiBsbGludEluc3RydWN0aW9uUG9pbnRlcihQbGF0Zm9ybVJlZ2lz
dGVycyYpOwogdm9pZCogbGxpbnRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgUGxhdGZvcm1SZWdp
c3RlcnMmKTsKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09Q
KQogCiAjaWYgSEFWRShNQUNISU5FX0NPTlRFWFQpCiAKQEAgLTcyLDEwICs3MiwxMCBAQCBpbmxp
bmUgdm9pZCBzZXRJbnN0cnVjdGlvblBvaW50ZXIobWNvbnRleHRfdCYsIE1hY3JvQXNzZW1ibGVy
Q29kZVB0cjxDRnVuY3Rpb25QdAogCiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZComIGFyZ3VtZW50
UG9pbnRlcihtY29udGV4dF90Jik7CiB0ZW1wbGF0ZTxzaXplX3QgTj4gdm9pZCogYXJndW1lbnRQ
b2ludGVyKGNvbnN0IG1jb250ZXh0X3QmKTsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFFTkFCTEUo
Q19MT09QKQogdm9pZComIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZXh0X3QmKTsKIHZv
aWQqIGxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IG1jb250ZXh0X3QmKTsKLSNlbmRpZiAv
LyBFTkFCTEUoSklUKQorI2VuZGlmIC8vICFFTkFCTEUoQ19MT09QKQogI2VuZGlmIC8vIEhBVkUo
TUFDSElORV9DT05URVhUKQogI2VuZGlmIC8vIE9TKFdJTkRPV1MpIHx8IEhBVkUoTUFDSElORV9D
T05URVhUKQogCkBAIC02NjgsNyArNjY4LDcgQEAgaW5saW5lIHZvaWQqIGFyZ3VtZW50UG9pbnRl
cihjb25zdCBtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKIH0KICNlbmRpZiAvLyBIQVZFKE1B
Q0hJTkVfQ09OVEVYVCkKIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAj
aWYgT1MoV0lORE9XUykgfHwgSEFWRShNQUNISU5FX0NPTlRFWFQpCiBpbmxpbmUgdm9pZComIGxs
aW50SW5zdHJ1Y3Rpb25Qb2ludGVyKFBsYXRmb3JtUmVnaXN0ZXJzJiByZWdzKQogewpAQCAtNzgz
LDcgKzc4Myw3IEBAIGlubGluZSB2b2lkKiBsbGludEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBt
Y29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAgICByZXR1cm4gbGxpbnRJbnN0cnVjdGlvblBv
aW50ZXIoY29uc3RfY2FzdDxtY29udGV4dF90Jj4obWFjaGluZUNvbnRleHQpKTsKIH0KICNlbmRp
ZiAvLyBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkKLSNlbmRpZiAvLyBFTkFCTEUoSklUKQorI2VuZGlm
IC8vICFFTkFCTEUoQ19MT09QKQogCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1NhbXBsaW5nUHJvZmlsZXIuY3BwCmluZGV4IGI2OTM1ZTRjNzU1NGRhMWFmMjBk
NDRhYjYyOTkyZjVhMzg5MWJjYmQuLmE5OTU1NGQxZjNkYTYwYjVmYmM4OTM3Y2I5NzdlZmUyMThm
ZWViOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NhbXBsaW5n
UHJvZmlsZXIuY3BwCkBAIC02MDEsMTAgKzYwMSwxNSBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6
OnByb2Nlc3NVbnZlcmlmaWVkU3RhY2tUcmFjZXMoKQogICAgICAgICAgICAgICAgICAgICBzdG9y
ZUNhbGxlZUludG9MYXN0RnJhbWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZl
cmlmaWVkQ2FsbGVlKTsKICAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7CiAgICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIGlmIChzdGQ6Om9wdGlvbmFsPENvZGVP
cmlnaW4+IGNvZGVPcmlnaW4gPSB0b3BDb2RlQmxvY2stPmZpbmRQQyh1bnByb2Nlc3NlZFN0YWNr
VHJhY2UudG9wUEMpKSB7Ci0gICAgICAgICAgICAgICAgYXBwZW5kQ29kZU9yaWdpbih0b3BDb2Rl
QmxvY2ssICpjb2RlT3JpZ2luKTsKLSAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0
RnJhbWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2FsbGVlKTsK
LSAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gMTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisj
aWYgRU5BQkxFKEpJVCkKKyAgICAgICAgICAgICAgICBpZiAoc3RkOjpvcHRpb25hbDxDb2RlT3Jp
Z2luPiBjb2RlT3JpZ2luID0gdG9wQ29kZUJsb2NrLT5maW5kUEModW5wcm9jZXNzZWRTdGFja1Ry
YWNlLnRvcFBDKSkgeworICAgICAgICAgICAgICAgICAgICBhcHBlbmRDb2RlT3JpZ2luKHRvcENv
ZGVCbG9jaywgKmNvZGVPcmlnaW4pOworICAgICAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUlu
dG9MYXN0RnJhbWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXS51bnZlcmlmaWVkQ2Fs
bGVlKTsKKyAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7CisgICAgICAgICAgICAg
ICAgfQorI2VuZGlmCisgICAgICAgICAgICAgICAgVU5VU0VEX1BBUkFNKGFwcGVuZENvZGVPcmln
aW4pOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Rlc3RSdW5uZXJVdGlscy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9UZXN0UnVubmVyVXRpbHMuY3BwCmluZGV4IDAxZWM4NmExNGRmOWE5NjJm
MzI2NzVlNmZkMDg3MzAwZDgwZTJiYzcuLjM0ZWVjYTc0YzcyNDdlYjVlMjQ2ZWQ3MTdkZWExN2Yx
MTM2ZjgyY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Rlc3RS
dW5uZXJVdGlscy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVGVzdFJ1
bm5lclV0aWxzLmNwcApAQCAtMTAyLDEwICsxMDIsOCBAQCBKU1ZhbHVlIG9wdGltaXplTmV4dElu
dm9jYXRpb24oSlNWYWx1ZSB0aGVGdW5jdGlvblZhbHVlKQogI2lmIEVOQUJMRShKSVQpCiAgICAg
aWYgKENvZGVCbG9jayogYmFzZWxpbmVDb2RlQmxvY2sgPSBnZXRTb21lQmFzZWxpbmVDb2RlQmxv
Y2tGb3JGdW5jdGlvbih0aGVGdW5jdGlvblZhbHVlKSkKICAgICAgICAgYmFzZWxpbmVDb2RlQmxv
Y2stPm9wdGltaXplTmV4dEludm9jYXRpb24oKTsKLSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHRo
ZUZ1bmN0aW9uVmFsdWUpOwogI2VuZGlmCi0KKyAgICBVTlVTRURfUEFSQU0odGhlRnVuY3Rpb25W
YWx1ZSk7CiAgICAgcmV0dXJuIGpzVW5kZWZpbmVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmNwcAppbmRleCA4ZTA5MmJjNWE4YTc4YmU4NjA5YjQ5ZDZjYzZmY2VkMTg1YTg0
NTE5Li40N2U2MWI4M2EzOTczMDU3NzRhNmYyM2RjNDNlMzBkYmQ3MDZjZDYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCkBAIC0xNTksNyArMTU5LDcgQEAKICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmdUYWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N5bWJvbFJl
Z2lzdHJ5Lmg+CiAKLSNpZiAhRU5BQkxFKEpJVCkKKyNpZiBFTkFCTEUoQ19MT09QKQogI2luY2x1
ZGUgIkNMb29wU3RhY2suaCIKICNpbmNsdWRlICJDTG9vcFN0YWNrSW5saW5lcy5oIgogI2VuZGlm
CkBAIC00NjEsNyArNDYxLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBU
eXBlKQogICAgIGZ0bFRodW5rcyA9IHN0ZDo6bWFrZV91bmlxdWU8RlRMOjpUaHVua3M+KCk7CiAj
ZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCiAgICAgCi0jaWYgRU5BQkxFKEpJVCkKKyNpZiAhRU5B
QkxFKENfTE9PUCkKICAgICBpbml0aWFsaXplSG9zdENhbGxSZXR1cm5WYWx1ZSgpOyAvLyBUaGlz
IGlzIG5lZWRlZCB0byBjb252aW5jZSB0aGUgbGlua2VyIG5vdCB0byBkcm9wIGhvc3QgY2FsbCBy
ZXR1cm4gc3VwcG9ydC4KICNlbmRpZgogICAgIApAQCAtNzQxLDkgKzc0MSw4IEBAIE5hdGl2ZUV4
ZWN1dGFibGUqIFZNOjpnZXRIb3N0RnVuY3Rpb24oTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIElu
dHJpbnNpYyBpbnRyaW5zCiAgICAgICAgICAgICBpbnRyaW5zaWMgIT0gTm9JbnRyaW5zaWMgPyB0
aHVua0dlbmVyYXRvckZvckludHJpbnNpYyhpbnRyaW5zaWMpIDogMCwKICAgICAgICAgICAgIGlu
dHJpbnNpYywgc2lnbmF0dXJlLCBuYW1lKTsKICAgICB9Ci0jZWxzZSAvLyBFTkFCTEUoSklUKQot
ICAgIFVOVVNFRF9QQVJBTShpbnRyaW5zaWMpOwogI2VuZGlmIC8vIEVOQUJMRShKSVQpCisgICAg
VU5VU0VEX1BBUkFNKGludHJpbnNpYyk7CiAgICAgcmV0dXJuIE5hdGl2ZUV4ZWN1dGFibGU6OmNy
ZWF0ZSgqdGhpcywKICAgICAgICAgYWRvcHRSZWYoKm5ldyBOYXRpdmVKSVRDb2RlKExMSW50Ojpn
ZXRDb2RlUmVmPEpTRW50cnlQdHJUYWc+KGxsaW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpLCBK
SVRDb2RlOjpIb3N0Q2FsbFRodW5rKSksIGZ1bmN0aW9uLAogICAgICAgICBhZG9wdFJlZigqbmV3
IE5hdGl2ZUpJVENvZGUoTExJbnQ6OmdldENvZGVSZWY8SlNFbnRyeVB0clRhZz4obGxpbnRfbmF0
aXZlX2NvbnN0cnVjdF90cmFtcG9saW5lKSwgSklUQ29kZTo6SG9zdENhbGxUaHVuaykpLCBjb25z
dHJ1Y3RvciwKQEAgLTg3Niw3ICs4NzUsNyBAQCBzaXplX3QgVk06OnVwZGF0ZVNvZnRSZXNlcnZl
ZFpvbmVTaXplKHNpemVfdCBzb2Z0UmVzZXJ2ZWRab25lU2l6ZSkKIHsKICAgICBzaXplX3Qgb2xk
U29mdFJlc2VydmVkWm9uZVNpemUgPSBtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZTsKICAg
ICBtX2N1cnJlbnRTb2Z0UmVzZXJ2ZWRab25lU2l6ZSA9IHNvZnRSZXNlcnZlZFpvbmVTaXplOwot
I2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiAgICAgaW50ZXJwcmV0ZXItPmNs
b29wU3RhY2soKS5zZXRTb2Z0UmVzZXJ2ZWRab25lU2l6ZShzb2Z0UmVzZXJ2ZWRab25lU2l6ZSk7
CiAjZW5kaWYKIApAQCAtMTE0NSw3ICsxMTQ0LDcgQEAgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk0o
Vk0qIHZtKQogICAgICAgICBBU1NFUlQodm0tPmN1cnJlbnRUaHJlYWRJc0hvbGRpbmdBUElMb2Nr
KCkpOwogICAgICAgICBBU1NFUlRfVU5VU0VEKHN0YWNrQm91bmRzLCBzdGFja0JvdW5kcy5jb250
YWlucyh2bS0+bGFzdFN0YWNrVG9wKCkpKTsKICAgICB9Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYg
RU5BQkxFKENfTE9PUCkKICAgICB2bS0+aW50ZXJwcmV0ZXItPmNsb29wU3RhY2soKS5zYW5pdGl6
ZVN0YWNrKCk7CiAjZWxzZQogICAgIHNhbml0aXplU3RhY2tGb3JWTUltcGwodm0pOwpAQCAtMTE1
NCw3ICsxMTUzLDcgQEAgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk0oVk0qIHZtKQogCiBzaXplX3Qg
Vk06OmNvbW1pdHRlZFN0YWNrQnl0ZUNvdW50KCkKIHsKLSNpZiBFTkFCTEUoSklUKQorI2lmICFF
TkFCTEUoQ19MT09QKQogICAgIC8vIFdoZW4gdXNpbmcgdGhlIEMgc3RhY2ssIHdlIGRvbid0IGtu
b3cgaG93IG1hbnkgc3RhY2sgcGFnZXMgYXJlIGFjdHVhbGx5CiAgICAgLy8gY29tbWl0dGVkLiBT
bywgd2UgdXNlIHRoZSBjdXJyZW50IHN0YWNrIHVzYWdlIGFzIGFuIGVzdGltYXRlLgogICAgIEFT
U0VSVChUaHJlYWQ6OmN1cnJlbnQoKS5zdGFjaygpLmlzR3Jvd2luZ0Rvd253YXJkKCkpOwpAQCAt
MTE2Niw3ICsxMTY1LDcgQEAgc2l6ZV90IFZNOjpjb21taXR0ZWRTdGFja0J5dGVDb3VudCgpCiAj
ZW5kaWYKIH0KIAotI2lmICFFTkFCTEUoSklUKQorI2lmIEVOQUJMRShDX0xPT1ApCiBib29sIFZN
OjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yQ0xvb3AoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7
CiAgICAgcmV0dXJuIGludGVycHJldGVyLT5jbG9vcFN0YWNrKCkuZW5zdXJlQ2FwYWNpdHlGb3Io
bmV3VG9wT2ZTdGFjayk7CkBAIC0xMTc2LDcgKzExNzUsNyBAQCBib29sIFZNOjppc1NhZmVUb1Jl
Y3Vyc2VTb2Z0Q0xvb3AoKSBjb25zdAogewogICAgIHJldHVybiBpbnRlcnByZXRlci0+Y2xvb3BT
dGFjaygpLmlzU2FmZVRvUmVjdXJzZSgpOwogfQotI2VuZGlmIC8vICFFTkFCTEUoSklUKQorI2Vu
ZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKICNpZiBFTkFCTEUoRVhDRVBUSU9OX1NDT1BFX1ZFUklG
SUNBVElPTikKIHZvaWQgVk06OnZlcmlmeUV4Y2VwdGlvbkNoZWNrTmVlZElzU2F0aXNmaWVkKHVu
c2lnbmVkIHJlY3Vyc2lvbkRlcHRoLCBFeGNlcHRpb25FdmVudExvY2F0aW9uJiBsb2NhdGlvbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmluZGV4IDQwZGE1ZDM2ODkyNTM4YjJiMmJiNGQx
Njc2MTJlNTdkNTE1YWNkNjMuLmY5N2FmMzVhMTQ5ZDM1OWIyZTQ2MGJmN2QxYTFiOTk3MTc3Mjhl
OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAtNzE2LDcgKzcxNiw3IEBAIGNs
YXNzIFZNIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZNPiwgcHVibGljIERvdWJseUxp
bmtlZExpc3ROb2RlPFZNPiB7CiAgICAgdm9pZCogc3RhY2tMaW1pdCgpIHsgcmV0dXJuIG1fc3Rh
Y2tMaW1pdDsgfQogICAgIHZvaWQqIHNvZnRTdGFja0xpbWl0KCkgeyByZXR1cm4gbV9zb2Z0U3Rh
Y2tMaW1pdDsgfQogICAgIHZvaWQqKiBhZGRyZXNzT2ZTb2Z0U3RhY2tMaW1pdCgpIHsgcmV0dXJu
ICZtX3NvZnRTdGFja0xpbWl0OyB9Ci0jaWYgIUVOQUJMRShKSVQpCisjaWYgRU5BQkxFKENfTE9P
UCkKICAgICB2b2lkKiBjbG9vcFN0YWNrTGltaXQoKSB7IHJldHVybiBtX2Nsb29wU3RhY2tMaW1p
dDsgfQogICAgIHZvaWQgc2V0Q0xvb3BTdGFja0xpbWl0KHZvaWQqIGxpbWl0KSB7IG1fY2xvb3BT
dGFja0xpbWl0ID0gbGltaXQ7IH0KICNlbmRpZgpAQCAtOTI5LDEwICs5MjksMTAgQEAgY2xhc3Mg
Vk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+LCBwdWJsaWMgRG91Ymx5TGlua2Vk
TGlzdE5vZGU8Vk0+IHsKICAgICAgICAgbV9leGNlcHRpb24gPSBudWxscHRyOwogICAgIH0KIAot
I2lmICFFTkFCTEUoSklUKSAgICAKKyNpZiBFTkFCTEUoQ19MT09QKQogICAgIGJvb2wgZW5zdXJl
U3RhY2tDYXBhY2l0eUZvckNMb29wKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKTsKICAgICBib29s
IGlzU2FmZVRvUmVjdXJzZVNvZnRDTG9vcCgpIGNvbnN0OwotI2VuZGlmIC8vICFFTkFCTEUoSklU
KQorI2VuZGlmIC8vIEVOQUJMRShDX0xPT1ApCiAKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lk
IHRocm93RXhjZXB0aW9uKEV4ZWNTdGF0ZSosIEV4Y2VwdGlvbiopOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIEpTVmFsdWUgdGhyb3dFeGNlcHRpb24oRXhlY1N0YXRlKiwgSlNWYWx1ZSk7CkBAIC05
NTMsNyArOTUzLDcgQEAgY2xhc3MgVk0gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8Vk0+
LCBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdE5vZGU8Vk0+IHsKICAgICBzaXplX3QgbV9jdXJyZW50
U29mdFJlc2VydmVkWm9uZVNpemU7CiAgICAgdm9pZCogbV9zdGFja0xpbWl0IHsgbnVsbHB0ciB9
OwogICAgIHZvaWQqIG1fc29mdFN0YWNrTGltaXQgeyBudWxscHRyIH07Ci0jaWYgIUVOQUJMRShK
SVQpCisjaWYgRU5BQkxFKENfTE9PUCkKICAgICB2b2lkKiBtX2Nsb29wU3RhY2tMaW1pdCB7IG51
bGxwdHIgfTsKICNlbmRpZgogICAgIHZvaWQqIG1fbGFzdFN0YWNrVG9wIHsgbnVsbHB0ciB9OwpA
QCAtMTAzNSw3ICsxMDM1LDcgQEAgaW5saW5lIEhlYXAqIFdlYWtTZXQ6OmhlYXAoKSBjb25zdAog
ICAgIHJldHVybiAmbV92bS0+aGVhcDsKIH0KIAotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJM
RShDX0xPT1ApCiBleHRlcm4gIkMiIHZvaWQgc2FuaXRpemVTdGFja0ZvclZNSW1wbChWTSopOwog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNSW5s
aW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKaW5kZXgg
MTViNTBkNmRmYmFlYTEyMjYyOTllNzEyOTEwZDMwZGJiM2YxZjEzMy4uMTVlNWRmMGIyNTMxNGU3
ZTY4MGI4ZTU5YjkwNTRmYTk1ZTM2NzUyZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk1JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk1JbmxpbmVzLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiBi
b29sIFZNOjplbnN1cmVTdGFja0NhcGFjaXR5Rm9yKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKQog
ewotI2lmIEVOQUJMRShKSVQpCisjaWYgIUVOQUJMRShDX0xPT1ApCiAgICAgQVNTRVJUKFRocmVh
ZDo6Y3VycmVudCgpLnN0YWNrKCkuaXNHcm93aW5nRG93bndhcmQoKSk7CiAgICAgcmV0dXJuIG5l
d1RvcE9mU3RhY2sgPj0gbV9zb2Z0U3RhY2tMaW1pdDsKICNlbHNlCkBAIC00Nyw3ICs0Nyw3IEBA
IGJvb2wgVk06OmVuc3VyZVN0YWNrQ2FwYWNpdHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2sp
CiBib29sIFZNOjppc1NhZmVUb1JlY3Vyc2VTb2Z0KCkgY29uc3QKIHsKICAgICBib29sIHNhZmUg
PSBpc1NhZmVUb1JlY3Vyc2UobV9zb2Z0U3RhY2tMaW1pdCk7Ci0jaWYgIUVOQUJMRShKSVQpCisj
aWYgRU5BQkxFKENfTE9PUCkKICAgICBzYWZlID0gc2FmZSAmJiBpc1NhZmVUb1JlY3Vyc2VTb2Z0
Q0xvb3AoKTsKICNlbmRpZgogICAgIHJldHVybiBzYWZlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggZTU2OWNk
YzU2Mzg5NzJmMmNhYTE0MzlhNmJiMzYyMThmZjlmMzc0Yi4uODgzNWI4OWQ3ZjlhMTU1MjQxNGQ2
M2I3MDJiODhiMmVjOGQyODhmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0u
aAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC03NTcsNiArNzU3LDE1IEBACiAj
ZGVmaW5lIEVOQUJMRV9KSVQgMAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfQ19MT09Q
KQorI2lmIEVOQUJMRShKSVQpIFwKKyAgICB8fCBDUFUoWDg2XzY0KSB8fCAoQ1BVKEFSTTY0KSAm
JiAhZGVmaW5lZChfX0lMUDMyX18pKQorI2RlZmluZSBFTkFCTEVfQ19MT09QIDAKKyNlbHNlCisj
ZGVmaW5lIEVOQUJMRV9DX0xPT1AgMQorI2VuZGlmCisjZW5kaWYKKwogLyogVGhlIEZUTCAqZG9l
cyBub3QqIHdvcmsgb24gMzItYml0IHBsYXRmb3Jtcy4gRGlzYWJsZSBpdCBldmVuIGlmIHNvbWVv
bmUgYXNrZWQgdXMgdG8gZW5hYmxlIGl0LiAqLwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAjdW5k
ZWYgRU5BQkxFX0ZUTF9KSVQKQEAgLTg2Myw3ICs4NzIsNyBAQAogICogSW4gY29uZmlndXJhdGlv
bnMgb3RoZXIgdGhhbiBXaW5kb3dzIGFuZCBEYXJ3aW4sIGJlY2F1c2UgbGF5b3V0IG9mIG1jb250
ZXh0X3QgZGVwZW5kcyBvbiBzdGFuZGFyZCBsaWJyYXJpZXMgKGxpa2UgZ2xpYmMpLAogICogc2Ft
cGxpbmcgcHJvZmlsZXIgaXMgZW5hYmxlZCBpZiBXZWJLaXQgdXNlcyBwdGhyZWFkcyBhbmQgZ2xp
YmMuICovCiAjaWYgIWRlZmluZWQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSKQotI2lmIEVOQUJM
RShKSVQpICYmIChPUyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpCisjaWYgIUVO
QUJMRShDX0xPT1ApICYmIChPUyhXSU5ET1dTKSB8fCBIQVZFKE1BQ0hJTkVfQ09OVEVYVCkpCiAj
ZGVmaW5lIEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiAxCiAjZWxzZQogI2RlZmluZSBFTkFCTEVf
U0FNUExJTkdfUFJPRklMRVIgMApAQCAtOTQ3LDExICs5NTYsMTEgQEAKICNlbmRpZgogCiAvKiBE
ZXRlcm1pbmUgaWYgd2UgbmVlZCB0byBlbmFibGUgQ29tcHV0ZWQgR290byBPcGNvZGVzIG9yIG5v
dDogKi8KLSNpZiBIQVZFKENPTVBVVEVEX0dPVE8pIHx8IEVOQUJMRShKSVQpCisjaWYgSEFWRShD
T01QVVRFRF9HT1RPKSB8fCAhRU5BQkxFKENfTE9PUCkKICNkZWZpbmUgRU5BQkxFX0NPTVBVVEVE
X0dPVE9fT1BDT0RFUyAxCiAjZW5kaWYKIAotI2lmIEVOQUJMRShKSVQpICYmICFDT01QSUxFUihN
U1ZDKSAmJiBcCisjaWYgIUVOQUJMRShDX0xPT1ApICYmICFDT01QSUxFUihNU1ZDKSAmJiBcCiAg
ICAgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk02NCkgfHwgKENQVShBUk1fVEhV
TUIyKSAmJiBPUyhEQVJXSU4pKSkKIC8qIFRoaXMgZmVhdHVyZSB3b3JrcyBieSBlbWJlZGRpbmcg
dGhlIE9wY29kZUlEIGluIHRoZSAzMiBiaXQganVzdCBiZWZvcmUgdGhlIGdlbmVyYXRlZCBMTGlu
dCBjb2RlCiAgICB0aGF0IGV4ZWN1dGVzIGVhY2ggb3Bjb2RlLiBJdCBjYW5ub3QgYmUgc3VwcG9y
dGVkIGJ5IHRoZSBDTG9vcCBzaW5jZSB0aGVyZSdzIG5vIHdheSB0byBlbWJlZCB0aGUKQEAgLTk4
MSw3ICs5OTAsNyBAQAogCiAvKiBJZiBlaXRoZXIgdGhlIEpJVCBvciB0aGUgUmVnRXhwIEpJVCBp
cyBlbmFibGVkLCB0aGVuIHRoZSBBc3NlbWJsZXIgbXVzdCBiZQogICAgZW5hYmxlZCBhcyB3ZWxs
OiAqLwotI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShZQVJSX0pJVCkKKyNpZiBFTkFCTEUoSklU
KSB8fCBFTkFCTEUoWUFSUl9KSVQpIHx8ICFFTkFCTEUoQ19MT09QKQogI2lmIGRlZmluZWQoRU5B
QkxFX0FTU0VNQkxFUikgJiYgIUVOQUJMRV9BU1NFTUJMRVIKICNlcnJvciAiQ2Fubm90IGVuYWJs
ZSB0aGUgSklUIG9yIFJlZ0V4cCBKSVQgd2l0aG91dCBlbmFibGluZyB0aGUgQXNzZW1ibGVyIgog
I2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1Nv
dXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCAxMTZlMGQ5Njk3NGYxMmVkZGUw
NjA1YzFlN2NmNmQyMzhiZjNmYTAwLi5hYTBkYTZhN2U1ZmU0YmI4MGJmMzEyZTc5NTQ2OGI3OWFi
NzM5NmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysr
IGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC03MSw5ICs3MSwxMyBAQCBt
YWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIGlmIChXVEZfQ1BVX0FSTSBPUiBXVEZfQ1BV
X0FSTTY0IE9SIFdURl9DUFVfTUlQUyBPUiBXVEZfQ1BVX1g4Nl82NCBPUiBXVEZfQ1BVX1g4NikK
ICAgICAgICAgc2V0KEVOQUJMRV9KSVRfREVGQVVMVCBPTikKICAgICAgICAgc2V0KFVTRV9TWVNU
RU1fTUFMTE9DX0RFRkFVTFQgT0ZGKQorICAgICAgICBzZXQoRU5BQkxFX0NfTE9PUF9ERUZBVUxU
IE9GRikKKyAgICAgICAgc2V0KEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUl9ERUZBVUxUIE9OKQog
ICAgIGVsc2UgKCkKICAgICAgICAgc2V0KEVOQUJMRV9KSVRfREVGQVVMVCBPRkYpCiAgICAgICAg
IHNldChVU0VfU1lTVEVNX01BTExPQ19ERUZBVUxUIE9OKQorICAgICAgICBzZXQoRU5BQkxFX0Nf
TE9PUF9ERUZBVUxUIE9OKQorICAgICAgICBzZXQoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSX0RF
RkFVTFQgT0ZGKQogICAgIGVuZGlmICgpCiAKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfM0RfVFJBTlNGT1JNUyAiVG9nZ2xlIDNEIHRyYW5zZm9ybXMgc3VwcG9ydCIgUFJJVkFURSBP
TikKQEAgLTEwMCw2ICsxMDQsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCAiVG9nZ2xlIENT
UyBTZWxlY3RvcnMgTGV2ZWwgNCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSAiVG9nZ2xlIGN1cnNvciB2aXNpYmls
aXR5IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgIlRvZ2dsZSBDdXN0b20gU2NoZW1lIEhhbmRsZXIgc3Vw
cG9ydCIgUFJJVkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NfTE9P
UCAiRW5hYmxlIENMb29wIGludGVycHJldGVyIiBQUklWQVRFICR7RU5BQkxFX0NfTE9PUF9ERUZB
VUxUfSkKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQg
IlRvZ2dsZSBkYXNoYm9hcmQgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0RBVEFDVUVfVkFMVUUgIlRvZ2dsZSBkYXRhY3VlIHZhbHVlIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UICJUb2dnbGUgSFRNTDUgZGF0YWxpc3Qgc3VwcG9ydCIgUFJJVkFURSBPRkYpCkBA
IC0xNTgsNyArMTYzLDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSAiVG9nZ2xlIHJlc29s
dXRpb24gbWVkaWEgcXVlcnkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1JFU09VUkNFX1VTQUdFICJUb2dnbGUgcmVzb3VyY2UgdXNhZ2Ugc3Vw
cG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HICJUb2dnbGUgcnViYmVyIGJhbmRpbmcgc3VwcG9ydCIgUFJJVkFURSBPRkYpCi0g
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSICJUb2dnbGUg
c2FtcGxpbmcgcHJvZmlsZXIgc3VwcG9ydCIgUFJJVkFURSBPTikKKyAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfU0FNUExJTkdfUFJPRklMRVIgIlRvZ2dsZSBzYW1wbGluZyBwcm9maWxl
ciBzdXBwb3J0IiBQUklWQVRFICR7RU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSX0RFRkFVTFR9KQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTICJUb2dnbGUg
c2VydmljZSBjb250cm9scyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfU0VSVklDRV9XT1JLRVIgIlRvZ2dsZSBTZXJ2aWNlV29ya2VyIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9TTU9PVEhf
U0NST0xMSU5HICJUb2dnbGUgc21vb3RoIHNjcm9sbGluZyIgUFJJVkFURSBPTikKQEAgLTE5MCwx
MiArMTk1LDE0IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1hTTFQgIlRvZ2dsZSBYU0xUIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1NZU1RFTV9NQUxMT0MgIlRvZ2dsZSBzeXN0ZW0g
YWxsb2NhdG9yIGluc3RlYWQgb2YgV2ViS2l0J3MgY3VzdG9tIGFsbG9jYXRvciIgUFJJVkFURSAk
e1VTRV9TWVNURU1fTUFMTE9DX0RFRkFVTFR9KQogCisgICAgV0VCS0lUX09QVElPTl9DT05GTElD
VChFTkFCTEVfSklUIEVOQUJMRV9DX0xPT1ApCisgICAgV0VCS0lUX09QVElPTl9DT05GTElDVChF
TkFCTEVfU0FNUExJTkdfUFJPRklMRVIgRU5BQkxFX0NfTE9PUCkKKwogICAgIFdFQktJVF9PUFRJ
T05fREVQRU5EKEVOQUJMRV9XRUJfUlRDIEVOQUJMRV9NRURJQV9TVFJFQU0pCiAgICAgV0VCS0lU
X09QVElPTl9ERVBFTkQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEgRU5BQkxFX1ZJREVP
KQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9ERkdfSklUIEVOQUJMRV9KSVQpCiAg
ICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0ZUTF9KSVQgRU5BQkxFX0RGR19KSVQpCiAg
ICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX1dFQkFTU0VNQkxZIEVOQUJMRV9GVExfSklU
KQotICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9TQU1QTElOR19QUk9GSUxFUiBFTkFC
TEVfSklUKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMgRU5BQkxFX0lOREVYRURfREFUQUJBU0UpCiAgICAgV0VCS0lUX09QVElPTl9E
RVBFTkQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCBFTkFCTEVfVklERU8pCiAgICAgV0VC
S0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX01FRElBX1NPVVJDRSBFTkFCTEVfVklERU8pCmRpZmYg
LS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNTMyYjMyNjYwNDA5YTIxYjA2MTVl
NGVhNWIxMzBhYzU3NmQzNWQ4Zi4uM2NkNzdkYTZlNWRkYmI3ZDlkZmJiNmQ5YWVkZTRmNTUxNzZl
NjU0OCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE4LTA5LTIxICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5v
cmc+CisKKyAgICAgICAgW0pTQ10gRW5hYmxlIExMSW50IEFTTSBpbnRlcnByZXRlciBvbiBYNjQg
YW5kIEFSTTY0IGluIG5vbiBKSVQgY29uZmlndXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5Nzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRU5BQkxFX1NBTVBMSU5HX1BST0ZJTEVSIGRvZXMg
bm90IGRlcGVuZCBvbiBFTkFCTEVfSklUIG5vdyBzaW5jZSBpdCBjYW4gYmUKKyAgICAgICAgdXNl
ZCB3aXRoIExMSW50IEFTTSBpbnRlcnByZXRlci4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZToKKwogMjAxOC0wOS0yMSAgTWlrZSBHb3JzZSAgPG1nb3JzZUBz
dXNlLmNvbT4KIAogICAgICAgICBCdWlsZCB0b29scyBzaG91bGQgd29yayB3aGVuIHRoZSAvdXNy
L2Jpbi9weXRob24gaXMgcHl0aG9uMwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>