<?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>230622</bug_id>
          
          <creation_ts>2021-09-22 06:24:30 -0700</creation_ts>
          <short_desc>[JSC][32bit] Fix CSR restore on DFG tail calls, add extra register on ARMv7</short_desc>
          <delta_ts>2021-10-27 08:34:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          <dependson>232353</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geza Lore">glore</reporter>
          <assigned_to name="Angelos Oikonomopoulos">angelos</assigned_to>
          <cc>angelos</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mikhail</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zdobersek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1796042</commentid>
    <comment_count>0</comment_count>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-09-22 06:24:30 -0700</bug_when>
    <thetext>Allow DFG to use regCS0 GPR (LLInt metadataTable) on ARMv7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796047</commentid>
    <comment_count>1</comment_count>
      <attachid>438945</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-09-22 06:33:35 -0700</bug_when>
    <thetext>Created attachment 438945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796210</commentid>
    <comment_count>2</comment_count>
      <attachid>438945</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-22 14:35:58 -0700</bug_when>
    <thetext>Comment on attachment 438945
Patch

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

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:83
&gt; +    loadp CodeBlock::m_metadata[PB], metadataTable

This looks incorrect to me since it is callee-save. If DFG uses it, then DFG should restore it, not LLInt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1796221</commentid>
    <comment_count>3</comment_count>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-09-22 14:54:26 -0700</bug_when>
    <thetext>I see your argument, but PB is restored on the line below, which is also a callee save, and that restore is necessary as DFG doesn&apos;t restore that either. Is that restore of PB wrong as well in this case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797674</commentid>
    <comment_count>4</comment_count>
      <attachid>439402</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-09-27 15:37:52 -0700</bug_when>
    <thetext>Created attachment 439402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797687</commentid>
    <comment_count>5</comment_count>
      <attachid>439407</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-09-27 16:02:03 -0700</bug_when>
    <thetext>Created attachment 439407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797834</commentid>
    <comment_count>6</comment_count>
      <attachid>439457</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-09-28 04:34:43 -0700</bug_when>
    <thetext>Created attachment 439457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797835</commentid>
    <comment_count>7</comment_count>
      <attachid>439458</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-09-28 04:45:14 -0700</bug_when>
    <thetext>Created attachment 439458
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1797836</commentid>
    <comment_count>8</comment_count>
      <attachid>439459</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-09-28 04:48:35 -0700</bug_when>
    <thetext>Created attachment 439459
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798292</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-29 06:25:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/83668548&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800744</commentid>
    <comment_count>10</comment_count>
      <attachid>440261</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-10-05 14:03:08 -0700</bug_when>
    <thetext>Created attachment 440261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800747</commentid>
    <comment_count>11</comment_count>
      <attachid>440262</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-10-05 14:05:43 -0700</bug_when>
    <thetext>Created attachment 440262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801557</commentid>
    <comment_count>12</comment_count>
      <attachid>440492</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-10-07 02:56:41 -0700</bug_when>
    <thetext>Created attachment 440492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802280</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-10-08 15:29:29 -0700</bug_when>
    <thetext>@Saam Do you have an opinion on this change? I&apos;m asking since you are working on unlinked DFG / FTL, so it is possible that metadata register can be used in DFG / FTL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802289</commentid>
    <comment_count>14</comment_count>
      <attachid>440492</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-10-08 15:51:08 -0700</bug_when>
    <thetext>Comment on attachment 440492
Patch

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

&gt; Source/JavaScriptCore/bytecode/ValueRecovery.h:195
&gt; +    static ValueRecovery calleeSaveRegDisplacedInJSStack(VirtualRegister virtualReg, bool inTag)

why is the implication here that we&apos;re dealing with an Int32?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1802376</commentid>
    <comment_count>15</comment_count>
      <attachid>440492</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-10-09 02:52:48 -0700</bug_when>
    <thetext>Comment on attachment 440492
Patch

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

&gt;&gt; Source/JavaScriptCore/bytecode/ValueRecovery.h:195
&gt;&gt; +    static ValueRecovery calleeSaveRegDisplacedInJSStack(VirtualRegister virtualReg, bool inTag)
&gt; 
&gt; why is the implication here that we&apos;re dealing with an Int32?

On 32-bit platforms up to two 32-bit machine registers (which look like Int32) are stored in a single 64-bit VirtualRegister slot on the stack on procedure entry. Reusing the Int32 recovery mechanism takes care of restoring the one stored in the &quot;payload&quot; half of the VReg. I added the Int32Tag mechanism to restore the other 32-bit machine reg from the other half of the VReg.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804388</commentid>
    <comment_count>16</comment_count>
      <attachid>440492</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-10-14 11:51:57 -0700</bug_when>
    <thetext>Comment on attachment 440492
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:3
&gt; +        Allow DFG to use regCS0 GPR (LLInt metadataTable) on ARMv7

nit: this patch is really doing 2 things:
1. Allow DFG to use this register
2. Make sure tail calls properly restore CSRs in DFG.

I&apos;d argue (2) is the really important part.

I&apos;d make the title reflect (1) and (2) perhaps, or at least make mention of (2)

&gt; Source/JavaScriptCore/jit/CallFrameShuffleData.cpp:63
&gt; +        if (saveSlotIndexInCPURegisters &lt; 0)
&gt; +            saveSlotIndexInCPURegisters -= 1; // Round towards -inf

I&apos;m pretty confused as to what this is doing and why it&apos;s needed.

&gt; Source/JavaScriptCore/jit/CallFrameShuffleData.cpp:64
&gt; +        VirtualRegister saveSlot { saveSlotIndexInCPURegisters / 2 };

Why /2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804426</commentid>
    <comment_count>17</comment_count>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-10-14 12:37:49 -0700</bug_when>
    <thetext>&gt; I&apos;m pretty confused as to what this is doing and why it&apos;s needed.
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/CallFrameShuffleData.cpp:64
&gt; &gt; +        VirtualRegister saveSlot { saveSlotIndexInCPURegisters / 2 };
&gt; 
&gt; Why /2?

there are two (32-bit) CPU register save slots per one (64-bit) virtual register slot on the stack. csr0/csr1 both need to map onto the first virual register slot (that&apos;s where the prologue puts them), but are in different halves (paload/tag). If we had csr2/csr3 would go into the second virtual register slot, hence the /2 (and the peculiar rounding bias above)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804733</commentid>
    <comment_count>18</comment_count>
      <attachid>441346</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-10-15 01:27:11 -0700</bug_when>
    <thetext>Created attachment 441346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804852</commentid>
    <comment_count>19</comment_count>
      <attachid>441386</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-10-15 09:44:29 -0700</bug_when>
    <thetext>Created attachment 441386
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804857</commentid>
    <comment_count>20</comment_count>
      <attachid>441388</attachid>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-10-15 09:47:04 -0700</bug_when>
    <thetext>Created attachment 441388
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804861</commentid>
    <comment_count>21</comment_count>
    <who name="Angelos Oikonomopoulos">angelos</who>
    <bug_when>2021-10-15 09:50:10 -0700</bug_when>
    <thetext>Unclear why the patch couldn&apos;t be landed via the commit-queue, even though analyze-layout-tests-results passes.

https://ews-build.webkit.org/#/builders/28/builds/16221)

&quot;Patch 441346 is not marked cq+.&quot;.

Trying with [fast-cq] in case that makes a difference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804899</commentid>
    <comment_count>22</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-15 10:41:00 -0700</bug_when>
    <thetext>Committed r284255 (243064@main): &lt;https://commits.webkit.org/243064@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 441388.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809105</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-10-26 16:45:49 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 232353</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809225</commentid>
    <comment_count>24</comment_count>
      <attachid>442578</attachid>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-10-27 04:53:25 -0700</bug_when>
    <thetext>Created attachment 442578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809232</commentid>
    <comment_count>25</comment_count>
    <who name="Geza Lore">glore</who>
    <bug_when>2021-10-27 05:47:15 -0700</bug_when>
    <thetext>Fixed C_LOOP breakage on 32-bit (and removed superfluous restore on 64-bit non C_LOOP). Only differences from landed (and reverted) patch are in LowLevelInterpreter*.asm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809257</commentid>
    <comment_count>26</comment_count>
      <attachid>442578</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-10-27 08:08:18 -0700</bug_when>
    <thetext>Comment on attachment 442578
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809268</commentid>
    <comment_count>27</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-27 08:34:48 -0700</bug_when>
    <thetext>Committed r284923 (243594@main): &lt;https://commits.webkit.org/243594@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442578.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438945</attachid>
            <date>2021-09-22 06:33:35 -0700</date>
            <delta_ts>2021-09-27 15:37:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20210922133334.patch</filename>
            <type>text/plain</type>
            <size>3975</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZmYyZjY5NDFmNGY0MDhkZGQ5YzQyYWFhYmZjNWYwZDFkNDlmNTEyLi4xYjMzYzUzNTRkMzIwMzEz
ODgwY2Y3OTg2NWZmZTNjM2IwOWEwYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMS0wOS0yMiAgR2V6YSBMb3JlICA8Z2V6YWxvcmVAZ21haWwuY29tPgor
CisgICAgICAgIEFsbG93IERGRyB0byB1c2UgcmVnQ1MwIEdQUiAoTExJbnQgbWV0YWRhdGFUYWJs
ZSkgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaW5jcmVhc2VzIHRoZSBhdmFpbGFibGUgcmVnaXN0ZXJzIG9uIEFSTXY3IHRvIDEw
LiBUaGUgYWRkaXRpb25hbAorICAgICAgICByZWdpc3RlciAoQ1NSMCkgaXMgdXNlZCBhcyB0aGUg
bWV0YWRhdGFUYWJsZSBvbiBMTEludCwgYW5kIGlzIHJlc3RvcmVkCisgICAgICAgIHdoZW4gcmV0
dXJuaW5nIHRoZXJlLgorCisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAgICAgICAgKEpTQzo6
R1BSSW5mbzo6dG9SZWdpc3Rlcik6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRvSW5kZXgpOgor
ICAgICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgIChKU0M6OlJlZ2lzdGVyU2V0
OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVy
cHJldGVyMzJfNjQuYXNtOgorCiAyMDIxLTA5LTIxICBNaWtoYWlsIFIuIEdhZGVsaGEgIDxtaWto
YWlsQGlnYWxpYS5jb20+CiAKICAgICAgICAgUHJldmVudCB0ZXN0IGZyb20gYWNjZXNzaW5nIEZQ
IHJlZ2lzdGVycyBpZiB0aGV5IGFyZSBub3QgYXZhaWxhYmxlIChlLmcuLCBhcm0gc29mdEZQKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAppbmRleCA1ZmY2MjQ3NDFhYjcwZThjMDQzNWJk
ZjlkMjViMTkxNDYwMzgxZDllLi4yZjdjZjVhYmJiMzk5Y2E3NDQzZWFjODMyMDMyZjZjMDczYjQy
YmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaApAQCAtNTM4LDcgKzUzOCw3IEBA
IHB1YmxpYzoKIGNsYXNzIEdQUkluZm8gewogcHVibGljOgogICAgIHR5cGVkZWYgR1BSUmVnIFJl
Z2lzdGVyVHlwZTsKLSAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJlck9mUmVnaXN0
ZXJzID0gOTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJlck9mUmVnaXN0ZXJz
ID0gMTA7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZkFyZ3VtZW50UmVn
aXN0ZXJzID0gTlVNQkVSX09GX0FSR1VNRU5UX1JFR0lTVEVSUzsKIAogICAgIC8vIFRlbXBvcmFy
eSByZWdpc3RlcnMuCkBAIC01NjcsNyArNTY3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBHUFJS
ZWcgdG9SZWdpc3Rlcih1bnNpZ25lZCBpbmRleCkKICAgICB7CiAgICAgICAgIEFTU0VSVChpbmRl
eCA8IG51bWJlck9mUmVnaXN0ZXJzKTsKLSAgICAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdp
c3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9IHsgcmVnVDAsIHJlZ1QxLCByZWdUMiwg
cmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3LCByZWdDUzEgfTsKKyAgICAgICAgc3Rh
dGljIGNvbnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9IHsg
cmVnVDAsIHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3LCBy
ZWdDUzAsIHJlZ0NTMSB9OwogICAgICAgICByZXR1cm4gcmVnaXN0ZXJGb3JJbmRleFtpbmRleF07
CiAgICAgfQogCkBAIC01ODMsNyArNTgzLDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQocmVn
ICE9IEludmFsaWRHUFJSZWcpOwogICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihyZWcp
IDwgMTYpOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhGb3JSZWdpc3Rlclsx
Nl0gPQotICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA3LCA2LCBJbnZhbGlkSW5kZXgsIEludmFs
aWRJbmRleCwgNCwgNSwgOCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgICAgIHsgMCwgMSwgMiwg
MywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUsIDksIDgsIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OwogICAgICAg
ICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVyW3JlZ107CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlclNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNw
cAppbmRleCBjNTI5ZDc0YWZlYzhlYTg2NmMwODY0NjQ5NTRiZjc5YTEwOGIzZDkxLi42NDZjZDRm
OTM1MmU3NDBlZWE5ZTYyNDYxM2RhMjY0MmRmY2I2YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlZ2lzdGVyU2V0LmNwcApAQCAtMjU0LDYgKzI1NCw3IEBAIFJlZ2lzdGVyU2V0IFJl
Z2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKCkKICAgICByZXN1bHQuc2V0KEdQUklu
Zm86OnJlZ0NTNik7CiAjZW5kaWYKICNlbGlmIENQVShBUk1fVEhVTUIyKQorICAgIHJlc3VsdC5z
ZXQoR1BSSW5mbzo6cmVnQ1MwKTsKICAgICByZXN1bHQuc2V0KEdQUkluZm86OnJlZ0NTMSk7CiAj
ZWxpZiBDUFUoQVJNNjQpCiAgICAgc3RhdGljX2Fzc2VydChHUFJJbmZvOjpyZWdDUzggPT0gR1BS
SW5mbzo6bnVtYmVyVGFnUmVnaXN0ZXIsICIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KaW5kZXggNzg1MjRj
ZmYxOTY5OGRjODAwNTg2YmE5NGFjNDIyN2IxOGMzZjM3Zi4uY2Q2NDExMDVjMzk3M2NiYmFhMDlk
ZDA1ZjQ3NDQyNThlY2Y1NWQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAgLTgwLDYgKzgwLDcgQEAg
ZW5kCiBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbChzaXplLCBvcGNvZGVTdHJ1Y3QsIHZhbHVlUHJv
ZmlsZU5hbWUsIGRzdFZpcnR1YWxSZWdpc3RlciwgZGlzcGF0Y2gpCiAgICAgbG9hZGkgQXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXMgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKICAgICBsb2FkcCBDb2Rl
QmxvY2tbY2ZyXSwgUEIKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fbWV0YWRhdGFbUEJdLCBtZXRh
ZGF0YVRhYmxlCiAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1Jhd1BvaW50ZXJb
UEJdLCBQQgogICAgIGdldChzaXplLCBvcGNvZGVTdHJ1Y3QsIGRzdFZpcnR1YWxSZWdpc3Rlciwg
dDMpCiAgICAgc3RvcmVpIHIxLCBUYWdPZmZzZXRbY2ZyLCB0MywgOF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439402</attachid>
            <date>2021-09-27 15:37:52 -0700</date>
            <delta_ts>2021-09-27 16:01:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20210927233751.patch</filename>
            <type>text/plain</type>
            <size>20996</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZmYyZjY5NDFmNGY0MDhkZGQ5YzQyYWFhYmZjNWYwZDFkNDlmNTEyLi4yYjllNzAyYmNmNjUyNWJk
MzIzZDFlZDM4NWQzYzhhMjI1MTY4NTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0wOS0yNyAgR2V6YSBMb3JlICA8Z2V6YWxvcmVAZ21haWwuY29tPgor
CisgICAgICAgIEFsbG93IERGRyB0byB1c2UgcmVnQ1MwIEdQUiAoTExJbnQgbWV0YWRhdGFUYWJs
ZSkgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaW5jcmVhc2VzIHRoZSBhdmFpbGFibGUgcmVnaXN0ZXJzIG9uIEFSTXY3IHRvIDEw
LiBGb3IgdGhpcyB0bworICAgICAgICB3b3JrIHByb3Blcmx5IEkgbmVlZGVkIHRvIHRlYWNoIENh
bGxGcmFtZVNodWZmbGVyICh3aGljaCBpcyB1c2VkCisgICAgICAgIGZvciBzaHVmZmxpbmcgc3Rh
Y2sgZnJhbWVzIGZvciB0YWlsIGNhbGxzKSBob3cgdG8gcmVzdG9yZSBDU1JzIG9uCisgICAgICAg
IDMyLWJpdCBhcmNoaXRlY3R1cmVzLCB3aGljaCBub3cgd29ya3MgZm9yIGxpdHRsZSBlbmRpYW4g
Q1BVcy4KKworICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwOgorICAgICAgICAo
SlNDOjpWYWx1ZVJlY292ZXJ5OjpkdW1wSW5Db250ZXh0IGNvbnN0KToKKyAgICAgICAgKiBieXRl
Y29kZS9WYWx1ZVJlY292ZXJ5Lmg6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmNhbGxl
ZVNhdmVSZWdEaXNwbGFjZWRJbkpTU3RhY2spOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5
Ojppc0luSlNTdGFjayBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmRhdGFG
b3JtYXQgY29uc3QpOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojp3aXRoTG9jYWxzT2Zm
c2V0IGNvbnN0KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBq
aXQvQ2FjaGVkUmVjb3ZlcnkuY3BwOgorICAgICAgICAoSlNDOjpDYWNoZWRSZWNvdmVyeTo6bG9h
ZHNJbnRvR1BSIGNvbnN0KToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3Bw
OgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVn
aXN0ZXJzKToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaDoKKyAgICAgICAg
KiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVm
Zmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
ci5oOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6c25hcHNob3QgY29uc3QpOgor
ICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6YWRkTmV3KToKKyAgICAgICAgKiBqaXQv
Q2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZm
bGVyOjplbWl0TG9hZCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjplbWl0RGlz
cGxhY2UpOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChKU0M6OkdQUkluZm86
OnRvUmVnaXN0ZXIpOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAg
KiBqaXQvUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAoSlNDOjpSZWdpc3RlclNldDo6ZGZnQ2Fs
bGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMy
XzY0LmFzbToKKwogMjAyMS0wOS0yMSAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFByZXZlbnQgdGVzdCBmcm9tIGFjY2Vzc2luZyBGUCByZWdpc3Rl
cnMgaWYgdGhleSBhcmUgbm90IGF2YWlsYWJsZSAoZS5nLiwgYXJtIHNvZnRGUCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAppbmRleCBlNDI0
NWVhYmVjM2UzMjI0YTVkYTVmZjc1MjViNTVkYzljYTcwMTY2Li4wMmVkZjAzMjFhN2IyZWY1MDg2
N2QyNmM0NzE1ZDhiMjg1YjdkZTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwCkBAIC0xMTQsNiArMTE0LDE0IEBAIHZvaWQgVmFsdWVS
ZWNvdmVyeTo6ZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29u
dGV4dCkgY29uc3QKICAgICBjYXNlIEJvb2xlYW5EaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAg
IG91dC5wcmludCgiKmJvb2woIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJl
dHVybjsKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgQ1NSTG9EaXNwbGFjZWRJbkpT
U3RhY2s6CisgICAgICAgIG91dC5wcmludCgiKkNTUkxvKCIsIHZpcnR1YWxSZWdpc3RlcigpLCAi
KSIpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBDU1JIaURpc3BsYWNlZEluSlNTdGFjazoK
KyAgICAgICAgb3V0LnByaW50KCIqQ1NSSGkoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7Cisg
ICAgICAgIHJldHVybjsKKyNlbmRpZgogICAgIGNhc2UgRGlyZWN0QXJndW1lbnRzVGhhdFdlcmVO
b3RDcmVhdGVkOgogICAgICAgICBvdXQucHJpbnQoIkRpcmVjdEFyZ3VtZW50cygiLCBub2RlSUQo
KSwgIikiKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9WYWx1ZVJlY292ZXJ5LmgKaW5kZXggNWU0M2JjNzJiYmNjNGZmOTdhNjhmODNkYTgzMDk0
ZTU4ZGEzYjMxNC4uMDIxN2JjNzNhMTM3ZmU0Y2ExNmNjNmFhYjIwOGNhNTdiNmQyZmM3OCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBAIC02
NSw2ICs2NSwxMSBAQCBlbnVtIFZhbHVlUmVjb3ZlcnlUZWNobmlxdWUgOiB1aW50OF90IHsKICAg
ICBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2ssCiAgICAgQ2VsbERpc3BsYWNlZEluSlNTdGFjaywK
ICAgICBCb29sZWFuRGlzcGxhY2VkSW5KU1N0YWNrLAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisg
ICAgLy8gMzItYml0IGNhbGxlZSBzYXZlIHJlZ2lzdGVyIG9uIHRoZSBzdGFjaywgd2l0aCAyIHJl
Z2lzdGVycyBwYWNrZWQgaW50byBhIDY0LWJpdCBzbG90CisgICAgQ1NSTG9EaXNwbGFjZWRJbkpT
U3RhY2ssIC8vIENTUiBhdCBsb3dlciAgbWVtb3J5IGFkZHJlc3Mgd2l0aGluIHRoZSBzbG90Cisg
ICAgQ1NSSGlEaXNwbGFjZWRJbkpTU3RhY2ssIC8vIENTUiBhdCBoaWdoZXIgbWVtb3J5IGFkZHJl
c3Mgd2l0aGluIHRoZSBzbG90CisjZW5kaWYKICAgICAvLyBJdCdzIGFuIEFyZ3VtZW50cyBvYmpl
Y3QuIFRoaXMgYXJpc2VzIGJlY2F1c2Ugb2YgdGhlIHNpbXBsaWZpZWQgYXJndW1lbnRzIHNpbXBs
aWZpY2F0aW9uIGRvbmUgYnkgdGhlIERGRy4KICAgICBEaXJlY3RBcmd1bWVudHNUaGF0V2VyZU5v
dENyZWF0ZWQsCiAgICAgQ2xvbmVkQXJndW1lbnRzVGhhdFdlcmVOb3RDcmVhdGVkLApAQCAtMTg3
LDcgKzE5MiwyOSBAQCBwdWJsaWM6CiAgICAgICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1vdmUo
dSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgVVNFKEpTVkFM
VUU2NCkKKyAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5K
U1N0YWNrKFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFsUmVnKQorICAgIHsKKyAgICAgICAgVmFsdWVS
ZWNvdmVyeSByZXN1bHQ7CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxS
ZWcgPSB2aXJ0dWFsUmVnLm9mZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZN
b3ZlKHUpOworICAgICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBEaXNwbGFjZWRJbkpTU3RhY2s7
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2Vsc2UKKyAgICBzdGF0aWMgVmFsdWVS
ZWNvdmVyeSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKFZpcnR1YWxSZWdpc3RlciB2
aXJ0dWFsUmVnLCBib29sIGluSGlXb3JkKQorICAgIHsKKyAgICAgICAgVmFsdWVSZWNvdmVyeSBy
ZXN1bHQ7CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxSZWcgPSB2aXJ0
dWFsUmVnLm9mZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOwor
ICAgICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBpbkhpV29yZCA/IENTUkhpRGlzcGxhY2VkSW5K
U1N0YWNrIDogQ1NSTG9EaXNwbGFjZWRJbkpTU3RhY2s7CisgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgfQorI2VuZGlmCisKICAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjb25zdGFudChKU1Zh
bHVlIHZhbHVlKQogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CkBAIC0yNjMs
NiArMjkwLDEwIEBAIHB1YmxpYzoKICAgICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3Rh
Y2s6CiAgICAgICAgIGNhc2UgQ2VsbERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2FzZSBC
b29sZWFuRGlzcGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAg
IGNhc2UgQ1NSTG9EaXNwbGFjZWRJbkpTU3RhY2s6CisgICAgICAgIGNhc2UgQ1NSSGlEaXNwbGFj
ZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjgyLDYgKzMxMywxMCBAQCBw
dWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gRGF0YUZvcm1hdEpTOwogICAgICAgICBjYXNlIFVu
Ym94ZWRJbnQzMkluR1BSOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgor
I2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgQ1NSTG9EaXNwbGFjZWRJbkpTU3Rh
Y2s6CisgICAgICAgIGNhc2UgQ1NSSGlEaXNwbGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAg
ICAgICAgIHJldHVybiBEYXRhRm9ybWF0SW50MzI7CiAgICAgICAgIGNhc2UgVW5ib3hlZEludDUy
SW5HUFI6CiAgICAgICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0zNjEsNiAr
Mzk2LDEwIEBAIHB1YmxpYzoKICAgICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6
CiAgICAgICAgIGNhc2UgQ2VsbERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2FzZSBCb29s
ZWFuRGlzcGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNh
c2UgQ1NSTG9EaXNwbGFjZWRJbkpTU3RhY2s6CisgICAgICAgIGNhc2UgQ1NSSGlEaXNwbGFjZWRJ
bkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoK
ICAgICAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazogewogICAgICAgICAg
ICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA1MWZlMmY0YmJlMGY1MzVlOTJm
YjJmMWNkMDg0NDUzZjRhNzY2ZjA5Li5hMmU2MjI3YWM2NzgwMmY4MmRiM2E2Mjg2NjUwZTUyOWZk
MDU4NGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAKQEAgLTc0MSw2ICs3NDEsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
OjplbWl0Q2FsbChOb2RlKiBub2RlKQogICAgICAgICAgICAgCiAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSBudW1QYXNzZWRBcmdzOyBpIDwgbnVtQWxsb2NhdGVkQXJnczsgKytpKQogICAg
ICAgICAgICAgICAgIHNodWZmbGVEYXRhLmFyZ3NbaV0gPSBWYWx1ZVJlY292ZXJ5Ojpjb25zdGFu
dChqc1VuZGVmaW5lZCgpKTsKKworICAgICAgICAgICAgc2h1ZmZsZURhdGEuc2V0dXBDYWxsZWVT
YXZlUmVnaXN0ZXJzKG1faml0LmNvZGVCbG9jaygpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgIG1faml0LnN0b3JlMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihudW1QYXNz
ZWRBcmdzKSwgbV9qaXQuY2FsbGVlRnJhbWVQYXlsb2FkU2xvdChDYWxsRnJhbWVTbG90Ojphcmd1
bWVudENvdW50SW5jbHVkaW5nVGhpcykpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5jcHAKaW5kZXggZjRhYWNjNmM4MGVlNTUwOTA4NDc3ODUz
NmVjN2IwODZjMTg4MjMwMy4uNjEwY2M3NmFhY2NlMDVjZDdhMjcwY2U2MDAwMzBiMDE1ZWI0MzQz
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5jcHAKQEAg
LTU5LDYgKzU5LDEwIEBAIGJvb2wgQ2FjaGVkUmVjb3Zlcnk6OmxvYWRzSW50b0dQUigpIGNvbnN0
CiAjZW5kaWYKICAgICBjYXNlIEJvb2xlYW5EaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgY2FzZSBD
ZWxsRGlzcGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgY2FzZSBD
U1JMb0Rpc3BsYWNlZEluSlNTdGFjazoKKyAgICBjYXNlIENTUkhpRGlzcGxhY2VkSW5KU1N0YWNr
OgorI2VuZGlmCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgZGVmYXVsdDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKaW5kZXgg
YzQ5ZTJiZjgwMTU5M2Y3ZGIzNzc4ZmIzNjMyNWIwNjEyOWQyMzgzMy4uMWQwOTY0NjhlNTJmNGM0
MjYyZTkzMDA4MzM4YjY4MGRmMGQ0YWEyNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFt
ZXNwYWNlIEpTQyB7CiAKLSNpZiBVU0UoSlNWQUxVRTY0KQotCiB2b2lkIENhbGxGcmFtZVNodWZm
bGVEYXRhOjpzZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7
CiAgICAgUmVnaXN0ZXJTZXQgY2FsbGVlU2F2ZVJlZ2lzdGVycyB7IFJlZ2lzdGVyU2V0Ojp2bUNh
bGxlZVNhdmVSZWdpc3RlcnMoKSB9OwpAQCAtNDUsOSArNDMsMjMgQEAgdm9pZCBDYWxsRnJhbWVT
aHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKENvZGVCbG9jayogY29kZUJsb2Nr
KQogICAgICAgICBpZiAoIWNhbGxlZVNhdmVSZWdpc3RlcnMuZ2V0KGVudHJ5LnJlZygpKSkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7
IGVudHJ5Lm9mZnNldEFzSW5kZXgoKSB9OworICAgICAgICBpbnQgc2F2ZVNsb3RJbmRleEluQ1BV
UmVnaXN0ZXJzID0gZW50cnkub2Zmc2V0QXNJbmRleCgpOworCisjaWYgVVNFKEpTVkFMVUU2NCkK
KyAgICAgICAgLy8gQ1BVIHJlZ2lzdGVycyBhcmUgdGhlIHNhbWUgc2l6ZSBhcyB2aXJ0dWFsIHJl
Z2lzdGVycworICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4
SW5DUFVSZWdpc3RlcnMgfTsKICAgICAgICAgcmVnaXN0ZXJzW2VudHJ5LnJlZygpXQotICAgICAg
ICAgICAgPSBWYWx1ZVJlY292ZXJ5OjpkaXNwbGFjZWRJbkpTU3RhY2soc2F2ZVNsb3QsIERhdGFG
b3JtYXRKUyk7CisgICAgICAgICAgICA9IFZhbHVlUmVjb3Zlcnk6OmNhbGxlZVNhdmVSZWdEaXNw
bGFjZWRJbkpTU3RhY2soc2F2ZVNsb3QpOworI2Vsc2UKKyAgICAgICAgLy8gT24gMzItYml0IGFy
Y2hpdGVjdHVyZXMsIDIgY2FsbGVlIHNhdmVkIHJlZ2lzdGVycyBtYXkgYmUgcGFja2VkIGludG8g
dGhlIHNhbWUgc2xvdAorICAgICAgICBib29sIGluSGlXb3JkID0gc2F2ZVNsb3RJbmRleEluQ1BV
UmVnaXN0ZXJzICUgMjsKKyAgICAgICAgaWYgKHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyA8
IDApCisgICAgICAgICAgICBzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgLT0gMTsgLy8gUm91
bmQgdG93YXJkcyAtaW5mCisgICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7IHNhdmVT
bG90SW5kZXhJbkNQVVJlZ2lzdGVycyAvIDIgfTsKKyAgICAgICAgcmVnaXN0ZXJzW2VudHJ5LnJl
ZygpXQorICAgICAgICAgICAgPSBWYWx1ZVJlY292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2Vk
SW5KU1N0YWNrKHNhdmVTbG90LCBpbkhpV29yZCk7CisjZW5kaWYKKwogICAgIH0KIAogICAgIGZv
ciAoUmVnIHJlZyA9IFJlZzo6Zmlyc3QoKTsgcmVnIDw9IFJlZzo6bGFzdCgpOyByZWcgPSByZWcu
bmV4dCgpKSB7CkBAIC01NywxMiArNjksMTQgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlRGF0YTo6
c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKENvZGVCbG9jayogY29kZUJsb2NrKQogICAgICAgICBp
ZiAocmVnaXN0ZXJzW3JlZ10pCiAgICAgICAgICAgICBjb250aW51ZTsKIAorI2lmIFVTRShKU1ZB
TFVFNjQpCiAgICAgICAgIHJlZ2lzdGVyc1tyZWddID0gVmFsdWVSZWNvdmVyeTo6aW5SZWdpc3Rl
cihyZWcsIERhdGFGb3JtYXRKUyk7CisjZWxzZQorICAgICAgICByZWdpc3RlcnNbcmVnXSA9IFZh
bHVlUmVjb3Zlcnk6OmluUmVnaXN0ZXIocmVnLCBEYXRhRm9ybWF0SW50MzIpOworI2VuZGlmCiAg
ICAgfQogfQogCi0jZW5kaWYgLy8gVVNFKEpTVkFMVUU2NCkKLQogfSAvLyBuYW1lc3BhY2UgSlND
CiAKICNlbmRpZiAvLyBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5oCmluZGV4IGE2ZGUyYTRjNzY4YmUxMTg5MGQ2NzI5NGQ0
ZDczMWViYzc3MmNmNzcuLmYzMmQ3N2I3MGNiNTM1ZjI5MTY4NGFmYTBmNGVhZWViY2U5MjFjYzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURh
dGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRh
LmgKQEAgLTQzLDEyICs0MywxMiBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFZhbHVlUmVjb3Zlcnk+
IGFyZ3M7CiAgICAgdW5zaWduZWQgbnVtTG9jYWxzIHsgVUlOVF9NQVggfTsKICAgICB1bnNpZ25l
ZCBudW1QYXNzZWRBcmdzIHsgVUlOVF9NQVggfTsKLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgIFJl
Z2lzdGVyTWFwPFZhbHVlUmVjb3Zlcnk+IHJlZ2lzdGVyczsKKyNpZiBVU0UoSlNWQUxVRTY0KQog
ICAgIEdQUlJlZyBudW1iZXJUYWdSZWdpc3RlciB7IEludmFsaWRHUFJSZWcgfTsKKyNlbmRpZgog
CiAgICAgdm9pZCBzZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMoQ29kZUJsb2NrKik7Ci0jZW5kaWYK
ICAgICBWYWx1ZVJlY292ZXJ5IGNhbGxlZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHAKaW5kZXggY2U1YWU0MzA4N2FiYjMyMzkyYzA0
MjcyNTQ2YmZlMTU2NTdiMjI1MS4uMWM3YjZkYjMxMzQxYmI5NTYwMmUyMmRkN2QyZjlmNTdjNGU3
N2U4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVm
Zmxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxl
ci5jcHAKQEAgLTUyLDEzICs1Miw4IEBAIENhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVm
ZmxlcihDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgQ2FsbEZyYW1lU2h1ZmZsZURhCiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gRlBSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnM7IGktLTsgKQogICAgICAg
ICBtX2xvY2tlZFJlZ2lzdGVycy5jbGVhcihGUFJJbmZvOjp0b1JlZ2lzdGVyKGkpKTsKIAotI2lm
IFVTRShKU1ZBTFVFNjQpCi0gICAgLy8gLi4uIGFzIHdlbGwgYXMgdGhlIHJ1bnRpbWUgcmVnaXN0
ZXJzIG9uIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgotICAgIC8vIEhvd2V2ZXIgZG8gbm90IHVzZSB0
aGVzZSByZWdpc3RlcnMgb24gMzItYml0IGFyY2hpdGVjdHVyZXMgc2luY2UKLSAgICAvLyBzYXZp
bmcgYW5kIHJlc3RvcmluZyBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIGluIENhbGxGcmFtZVNodWZm
bGVyIGlzbid0IHN1cHBvcnRlZAotICAgIC8vIG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzIHlldC4K
KyAgICAvLyAuLi4gYXMgd2VsbCBhcyB0aGUgY2FsbGVlIHNhdmVkIHJlZ2lzdGVycwogICAgIG1f
bG9ja2VkUmVnaXN0ZXJzLmV4Y2x1ZGUoUmVnaXN0ZXJTZXQ6OnZtQ2FsbGVlU2F2ZVJlZ2lzdGVy
cygpKTsKLSNlbmRpZgogCiAgICAgQVNTRVJUKCFkYXRhLmNhbGxlZS5pc0luSlNTdGFjaygpIHx8
IGRhdGEuY2FsbGVlLnZpcnR1YWxSZWdpc3RlcigpLmlzTG9jYWwoKSk7CiAgICAgYWRkTmV3KENh
bGxGcmFtZVNsb3Q6OmNhbGxlZSwgZGF0YS5jYWxsZWUpOwpAQCAtNjgsMTcgKzYzLDIxIEBAIENh
bGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVmZmxlcihDQ2FsbEhlbHBlcnMmIGppdCwgY29u
c3QgQ2FsbEZyYW1lU2h1ZmZsZURhCiAgICAgICAgIGFkZE5ldyh2aXJ0dWFsUmVnaXN0ZXJGb3JB
cmd1bWVudEluY2x1ZGluZ1RoaXMoaSksIGRhdGEuYXJnc1tpXSk7CiAgICAgfQogCi0jaWYgVVNF
KEpTVkFMVUU2NCkKICAgICBmb3IgKFJlZyByZWcgPSBSZWc6OmZpcnN0KCk7IHJlZyA8PSBSZWc6
Omxhc3QoKTsgcmVnID0gcmVnLm5leHQoKSkgewogICAgICAgICBpZiAoIWRhdGEucmVnaXN0ZXJz
W3JlZ10uaXNTZXQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmIChyZWcu
aXNHUFIoKSkKKyAgICAgICAgaWYgKHJlZy5pc0dQUigpKSB7CisjaWYgVVNFKEpTVkFMVUU2NCkK
ICAgICAgICAgICAgIGFkZE5ldyhKU1ZhbHVlUmVncyhyZWcuZ3ByKCkpLCBkYXRhLnJlZ2lzdGVy
c1tyZWddKTsKLSAgICAgICAgZWxzZQorI2Vsc2UKKyAgICAgICAgICAgIGFkZE5ldyhyZWcuZ3By
KCksIGRhdGEucmVnaXN0ZXJzW3JlZ10pOworI2VuZGlmCisgICAgICAgIH0gZWxzZQogICAgICAg
ICAgICAgYWRkTmV3KHJlZy5mcHIoKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7CiAgICAgfQogCisj
aWYgVVNFKEpTVkFMVUU2NCkKICAgICBtX251bWJlclRhZ1JlZ2lzdGVyID0gZGF0YS5udW1iZXJU
YWdSZWdpc3RlcjsKICAgICBpZiAobV9udW1iZXJUYWdSZWdpc3RlciAhPSBJbnZhbGlkR1BSUmVn
KQogICAgICAgICBsb2NrR1BSKG1fbnVtYmVyVGFnUmVnaXN0ZXIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oCmluZGV4IGY5ZjdhMWJjMjNhNzljNTVm
MmZiMjBiZGJkYjFlNDczYjg2N2UwMzYuLmE5NzQ2NGMwMzhkOTNlZTVhNDRhMzNlMDg5MGRjOGNl
MDZhNDg4YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1l
U2h1ZmZsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZm
bGVyLmgKQEAgLTExNiw3ICsxMTYsMjIgQEAgcHVibGljOgogI2lmIFVTRShKU1ZBTFVFNjQpCiAg
ICAgICAgICAgICBkYXRhLnJlZ2lzdGVyc1tyZWddID0gY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5
KCk7CiAjZWxzZQorI2lmIENQVShCSUdfRU5ESUFOKQorICAgICAgICAgICAgLy8gQ1NSIHJlc3Rv
cmUgb25seSBzdXBwb3RlcmQgb24gbGl0dGxlIGVuZGlhbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcyBh
dCB0aGUgbW9tZW50CisgICAgICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBhZGROZXcoR1BSUmVn
LCAuLi4pCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2Vsc2UK
KyAgICAgICAgICAgIFZhbHVlUmVjb3ZlcnkgcmVjb3ZlcnkgPSBjYWNoZWRSZWNvdmVyeS0+cmVj
b3ZlcnkoKTsKKyAgICAgICAgICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBEaXNwbGFj
ZWRJbkpTU3RhY2spIHsKKyAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyB3YW50ZWRKU1ZhbHVl
UmVnID0gY2FjaGVkUmVjb3ZlcnktPndhbnRlZEpTVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAg
ICAgQVNTRVJUKHJlZyA9PSB3YW50ZWRKU1ZhbHVlUmVnLnBheWxvYWRHUFIoKSB8fCByZWcgPT0g
d2FudGVkSlNWYWx1ZVJlZy50YWdHUFIoKSk7CisgICAgICAgICAgICAgICAgYm9vbCBpbkhpV29y
ZCA9IHJlZyA9PSB3YW50ZWRKU1ZhbHVlUmVnLnRhZ0dQUigpOworICAgICAgICAgICAgICAgIGRh
dGEucmVnaXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2Vk
SW5KU1N0YWNrKHJlY292ZXJ5LnZpcnR1YWxSZWdpc3RlcigpLCBpbkhpV29yZCk7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VSVChyZWNvdmVyeS50ZWNobmlxdWUo
KSA9PSBDU1JIaURpc3BsYWNlZEluSlNTdGFjayk7CisgICAgICAgICAgICAgICAgZGF0YS5yZWdp
c3RlcnNbcmVnXSA9IHJlY292ZXJ5OworICAgICAgICAgICAgfQorI2VuZGlmCiAjZW5kaWYKICAg
ICAgICAgfQogICAgICAgICByZXR1cm4gZGF0YTsKQEAgLTY2Miw2ICs2NzcsMzUgQEAgcHJpdmF0
ZToKICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpTVmFsdWVSZWdzKGpzVmFsdWVS
ZWdzKTsKICAgICB9CiAKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIHZvaWQgYWRkTmV3KEdQ
UlJlZyBncHIsIFZhbHVlUmVjb3ZlcnkgcmVjb3ZlcnkpCisgICAgeworICAgICAgICBBU1NFUlQo
Z3ByICE9IEludmFsaWRHUFJSZWcgJiYgIW1fbmV3UmVnaXN0ZXJzW2dwcl0pOworICAgICAgICBB
U1NFUlQocmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gQ1NSSGlEaXNwbGFjZWRJbkpTU3RhY2sgfHwg
cmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gQ1NSTG9EaXNwbGFjZWRJbkpTU3RhY2spOworICAgICAg
ICBDYWNoZWRSZWNvdmVyeSogY2FjaGVkUmVjb3ZlcnkgPSBhZGRDYWNoZWRSZWNvdmVyeShyZWNv
dmVyeSk7CisjaWYgQ1BVKEJJR19FTkRJQU4pCisgICAgICAgIC8vIENTUiByZXN0b3JlIG9ubHkg
c3VwcG90ZXJkIG9uIGxpdHRsZSBlbmRpYW4gMzItYml0IGFyY2hpdGVjdHVyZXMgYXQgdGhlIG1v
bWVudAorICAgICAgICAvLyBOb3RlOiBOb3QgYSBiaWcgZGVhbCB0byBpbXBsZW1lbnQsIHRoZSB0
YWcgYW5kIHBsYXlsb2FkIGFyZSBzd2FwcGVkIGZvciBEYXRhRm9ybWF0SlMsCisgICAgICAgIC8v
IGJ1dCBjdXJyZW50bHkgd2UgZG9uJ3QgaGF2ZSBhIHRhcmdldCB0byB0ZXN0IHRoaXMgb24uLi4K
KyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbHNlCisgICAgICAgIGlm
IChKU1ZhbHVlUmVncyBvbGRSZWdzIHsgY2FjaGVkUmVjb3ZlcnktPndhbnRlZEpTVmFsdWVSZWdz
KCkgfSkgeworICAgICAgICAgICAgQVNTRVJUKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IENTUkhp
RGlzcGxhY2VkSW5KU1N0YWNrKTsgLy8gRHVlIHRvIGVudW1lcmF0aW9uIG9yZGVyCisgICAgICAg
ICAgICAvLyBDb21iaW5lIHdpdGggdGhlIG90aGVyIENTUiBpbiB0aGUgc2FtZSBzbG90CisgICAg
ICAgICAgICBBU1NFUlQob2xkUmVncy50YWdHUFIoKSA9PSBJbnZhbGlkR1BSUmVnKTsKKyAgICAg
ICAgICAgIEFTU0VSVChvbGRSZWdzLnBheWxvYWRHUFIoKSAhPSBJbnZhbGlkR1BSUmVnKTsKKyAg
ICAgICAgICAgIEFTU0VSVChvbGRSZWdzLnBheWxvYWRHUFIoKSAhPSBncHIpOworICAgICAgICAg
ICAgQVNTRVJUKGNhY2hlZFJlY292ZXJ5LT5yZWNvdmVyeSgpLnRlY2huaXF1ZSgpID09IENTUkxv
RGlzcGxhY2VkSW5KU1N0YWNrKTsKKyAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRXYW50
ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVncyhncHIsIG9sZFJlZ3MucGF5bG9hZEdQUigpKSk7Cisg
ICAgICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0UmVjb3ZlcnkoCisgICAgICAgICAgICAgICAg
VmFsdWVSZWNvdmVyeTo6ZGlzcGxhY2VkSW5KU1N0YWNrKHJlY292ZXJ5LnZpcnR1YWxSZWdpc3Rl
cigpLCBEYXRhRm9ybWF0SlMpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBjYWNoZWRS
ZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KGdw
cikpOworI2VuZGlmCisgICAgICAgIG1fbmV3UmVnaXN0ZXJzW2dwcl0gPSBjYWNoZWRSZWNvdmVy
eTsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQgYWRkTmV3KEZQUlJlZyBmcHIsIFZhbHVlUmVj
b3ZlcnkgcmVjb3ZlcnkpCiAgICAgewogICAgICAgICBBU1NFUlQoZnByICE9IEludmFsaWRGUFJS
ZWcgJiYgIW1fbmV3UmVnaXN0ZXJzW2Zwcl0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKaW5kZXggNWRmZTk2ZTgxZWM5ZjZm
YTlmNzdhMGQ2NTE1NjcyNTNiMTZlNzYwOS4uMDkzNmY3NmMyY2E3Y2NhMWExZTE5M2Q1OGIwMzRm
MTg1NzcwMDVkYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJh
bWVTaHVmZmxlcjMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxG
cmFtZVNodWZmbGVyMzJfNjQuY3BwCkBAIC0xMjQsOCArMTI0LDE3IEBAIHZvaWQgQ2FsbEZyYW1l
U2h1ZmZsZXI6OmVtaXRMb2FkKENhY2hlZFJlY292ZXJ5JiBsb2NhdGlvbikKICAgICAgICAgaWYg
KHJlc3VsdEdQUiA9PSBJbnZhbGlkR1BSUmVnIHx8IG1fcmVnaXN0ZXJzW3Jlc3VsdEdQUl0gfHwg
bV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHJlc3VsdEdQUikpCiAgICAgICAgICAgICByZXN1bHRHUFIg
PSBnZXRGcmVlR1BSKCk7CiAgICAgICAgIEFTU0VSVChyZXN1bHRHUFIgIT0gSW52YWxpZEdQUlJl
Zyk7Ci0gICAgICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRoT2Zmc2V0KFBheWxvYWRPZmZz
ZXQpLCByZXN1bHRHUFIpOwotICAgICAgICB1cGRhdGVSZWNvdmVyeShsb2NhdGlvbiwgCisgICAg
ICAgIHN3aXRjaCAobG9jYXRpb24ucmVjb3ZlcnkoKS50ZWNobmlxdWUoKSkgeworICAgICAgICBj
YXNlIENTUkxvRGlzcGxhY2VkSW5KU1N0YWNrOgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsgLy8gU2hvdWxkIGhhdmUgYmVlbiBtZXJnZWQgaW50byBEaXNwbGFjZWRJ
bkpTU3RhY2sKKyAgICAgICAgY2FzZSBDU1JIaURpc3BsYWNlZEluSlNTdGFjazoKKyAgICAgICAg
ICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRoT2Zmc2V0KHNpemVvZihDUFVSZWdpc3Rlcikp
LCByZXN1bHRHUFIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICBtX2ppdC5sb2FkUHRyKGFkZHJlc3Mud2l0aE9mZnNldChQYXlsb2FkT2Zmc2V0KSwg
cmVzdWx0R1BSKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIHVwZGF0
ZVJlY292ZXJ5KGxvY2F0aW9uLAogICAgICAgICAgICAgVmFsdWVSZWNvdmVyeTo6aW5HUFIocmVz
dWx0R1BSLCBsb2NhdGlvbi5yZWNvdmVyeSgpLmRhdGFGb3JtYXQoKSkpOwogICAgICAgICBpZiAo
dmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2cobG9jYXRpb24ucmVjb3ZlcnkoKSwgIlxuIik7
CkBAIC0xOTAsMjggKzE5OSwxOCBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVyOjplbWl0RGlzcGxh
Y2UoQ2FjaGVkUmVjb3ZlcnkmIGxvY2F0aW9uKQogICAgIGlmICh3YW50ZWRUYWdHUFIgIT0gSW52
YWxpZEdQUlJlZykgewogICAgICAgICBBU1NFUlQoIW1fbG9ja2VkUmVnaXN0ZXJzLmdldCh3YW50
ZWRUYWdHUFIpKTsKICAgICAgICAgaWYgKENhY2hlZFJlY292ZXJ5KiBjdXJyZW50VGFnIHsgbV9y
ZWdpc3RlcnNbd2FudGVkVGFnR1BSXSB9KSB7Ci0gICAgICAgICAgICBpZiAoY3VycmVudFRhZyA9
PSAmbG9jYXRpb24pIHsKLSAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAg
ICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRUYWdHUFIsICIgaXMgT0tcbiIpOwotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBUaGlzIGNhbiBuZXZlciBoYXBw
ZW4gb24gMzJiaXQgcGxhdGZvcm1zIHNpbmNlIHdlCi0gICAgICAgICAgICAgICAgLy8gaGF2ZSBh
dCBtb3N0IG9uZSB3YW50ZWQgSlNWYWx1ZVJlZ3MsIGZvciB0aGUKLSAgICAgICAgICAgICAgICAv
LyBjYWxsZWUsIGFuZCBubyBjYWxsZWUtc2F2ZSByZWdpc3RlcnMuCi0gICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKGN1cnJlbnRUYWcgPT0gJmxvY2F0aW9uKTsKKyAgICAgICAgICAgIGlm
ICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2FudGVkVGFnR1BS
LCAiIGlzIE9LXG4iKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIGlmICh3YW50ZWRQYXlsb2Fk
R1BSICE9IEludmFsaWRHUFJSZWcpIHsKICAgICAgICAgQVNTRVJUKCFtX2xvY2tlZFJlZ2lzdGVy
cy5nZXQod2FudGVkUGF5bG9hZEdQUikpOwogICAgICAgICBpZiAoQ2FjaGVkUmVjb3ZlcnkqIGN1
cnJlbnRQYXlsb2FkIHsgbV9yZWdpc3RlcnNbd2FudGVkUGF5bG9hZEdQUl0gfSkgewotICAgICAg
ICAgICAgaWYgKGN1cnJlbnRQYXlsb2FkID09ICZsb2NhdGlvbikgewotICAgICAgICAgICAgICAg
IGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICArICIsIHdhbnRl
ZFBheWxvYWRHUFIsICIgaXMgT0tcbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAvLyBTZWUgYWJvdmUKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoY3Vy
cmVudFBheWxvYWQgPT0gJmxvY2F0aW9uKTsKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAg
ICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2FudGVkUGF5bG9hZEdQUiwgIiBpcyBPS1xu
Iik7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5k
ZXggNWZmNjI0NzQxYWI3MGU4YzA0MzViZGY5ZDI1YjE5MTQ2MDM4MWQ5ZS4uMmY3Y2Y1YWJiYjM5
OWNhNzQ0M2VhYzgzMjAzMmY2YzA3M2I0MmJjOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJ
bmZvLmgKQEAgLTUzOCw3ICs1MzgsNyBAQCBwdWJsaWM6CiBjbGFzcyBHUFJJbmZvIHsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIEdQUlJlZyBSZWdpc3RlclR5cGU7Ci0gICAgc3RhdGljIGNvbnN0ZXhw
ciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDk7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1
bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDEwOwogICAgIHN0YXRpYyBjb25zdGV4cHIgdW5z
aWduZWQgbnVtYmVyT2ZBcmd1bWVudFJlZ2lzdGVycyA9IE5VTUJFUl9PRl9BUkdVTUVOVF9SRUdJ
U1RFUlM7CiAKICAgICAvLyBUZW1wb3JhcnkgcmVnaXN0ZXJzLgpAQCAtNTY3LDcgKzU2Nyw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgR1BSUmVnIHRvUmVnaXN0ZXIodW5zaWduZWQgaW5kZXgpCiAg
ICAgewogICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1iZXJPZlJlZ2lzdGVycyk7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRleFtudW1iZXJPZlJlZ2lzdGVyc10g
PSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdU
NywgcmVnQ1MxIH07CisgICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRl
eFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdU
NCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MwLCByZWdDUzEgfTsKICAgICAgICAgcmV0dXJu
IHJlZ2lzdGVyRm9ySW5kZXhbaW5kZXhdOwogICAgIH0KIApAQCAtNTgzLDcgKzU4Myw3IEBAIHB1
YmxpYzoKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZhbGlkR1BSUmVnKTsKICAgICAgICAgQVNT
RVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8IDE2KTsKICAgICAgICAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0KLSAgICAgICAgICAgIHsgMCwgMSwgMiwgMywg
NywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUsIDgsIEludmFsaWRJbmRleCwg
SW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07
CisgICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYsIEludmFsaWRJbmRleCwgSW52YWxpZElu
ZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4
LCBJbnZhbGlkSW5kZXggfTsKICAgICAgICAgdW5zaWduZWQgcmVzdWx0ID0gaW5kZXhGb3JSZWdp
c3RlcltyZWddOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKaW5kZXggYzUyOWQ3NGFmZWM4ZWE4NjZjMDg2NDY0
OTU0YmY3OWExMDhiM2Q5MS4uNjQ2Y2Q0ZjkzNTJlNzQwZWVhOWU2MjQ2MTNkYTI2NDJkZmNiNmMw
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKQEAgLTI1NCw2
ICsyNTQsNyBAQCBSZWdpc3RlclNldCBSZWdpc3RlclNldDo6ZGZnQ2FsbGVlU2F2ZVJlZ2lzdGVy
cygpCiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdDUzYpOwogI2VuZGlmCiAjZWxpZiBDUFUo
QVJNX1RIVU1CMikKKyAgICByZXN1bHQuc2V0KEdQUkluZm86OnJlZ0NTMCk7CiAgICAgcmVzdWx0
LnNldChHUFJJbmZvOjpyZWdDUzEpOwogI2VsaWYgQ1BVKEFSTTY0KQogICAgIHN0YXRpY19hc3Nl
cnQoR1BSSW5mbzo6cmVnQ1M4ID09IEdQUkluZm86Om51bWJlclRhZ1JlZ2lzdGVyLCAiIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyMzJfNjQuYXNtCmluZGV4IDc4NTI0Y2ZmMTk2OThkYzgwMDU4NmJhOTRhYzQyMjdiMThjM2Yz
N2YuLmYzMjY0YjcyNmEyYjcwMmVlY2YzYzEwOWRkOGYzZmIxYTZlMThmNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNt
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJf
NjQuYXNtCkBAIC03OSw4ICs3OSw2IEBAIGVuZAogIyBBZnRlciBjYWxsaW5nLCBjYWxsaW5nIGJ5
dGVjb2RlIGlzIGNsYWltaW5nIGlucHV0IHJlZ2lzdGVycyBhcmUgbm90IHVzZWQuCiBtYWNybyBk
aXNwYXRjaEFmdGVyQ2FsbChzaXplLCBvcGNvZGVTdHJ1Y3QsIHZhbHVlUHJvZmlsZU5hbWUsIGRz
dFZpcnR1YWxSZWdpc3RlciwgZGlzcGF0Y2gpCiAgICAgbG9hZGkgQXJndW1lbnRDb3VudEluY2x1
ZGluZ1RoaXMgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKLSAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwg
UEIKLSAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zUmF3UG9pbnRlcltQQl0sIFBC
CiAgICAgZ2V0KHNpemUsIG9wY29kZVN0cnVjdCwgZHN0VmlydHVhbFJlZ2lzdGVyLCB0MykKICAg
ICBzdG9yZWkgcjEsIFRhZ09mZnNldFtjZnIsIHQzLCA4XQogICAgIHN0b3JlaSByMCwgUGF5bG9h
ZE9mZnNldFtjZnIsIHQzLCA4XQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439407</attachid>
            <date>2021-09-27 16:02:03 -0700</date>
            <delta_ts>2021-09-28 04:31:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20210928000201.patch</filename>
            <type>text/plain</type>
            <size>21030</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
MjQ5MTI1Y2VhNTAyYjQ2NmE5YmM2ZTU3NjFkNzAyYmEyZjg5ODUyLi5kZjFhNDkzZDFmNmNlMzY4
NzM2N2Q2YmQxOTIzMWE4YzgyMGFiNTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0wOS0yNyAgR2V6YSBMb3JlICA8Z2V6YWxvcmVAZ21haWwuY29tPgor
CisgICAgICAgIEFsbG93IERGRyB0byB1c2UgcmVnQ1MwIEdQUiAoTExJbnQgbWV0YWRhdGFUYWJs
ZSkgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaW5jcmVhc2VzIHRoZSBhdmFpbGFibGUgcmVnaXN0ZXJzIG9uIEFSTXY3IHRvIDEw
LiBGb3IgdGhpcyB0bworICAgICAgICB3b3JrIHByb3Blcmx5IEkgbmVlZGVkIHRvIHRlYWNoIENh
bGxGcmFtZVNodWZmbGVyICh3aGljaCBpcyB1c2VkCisgICAgICAgIGZvciBzaHVmZmxpbmcgc3Rh
Y2sgZnJhbWVzIGZvciB0YWlsIGNhbGxzKSBob3cgdG8gcmVzdG9yZSBDU1JzIG9uCisgICAgICAg
IDMyLWJpdCBhcmNoaXRlY3R1cmVzLCB3aGljaCBub3cgd29ya3MgZm9yIGxpdHRsZSBlbmRpYW4g
Q1BVcy4KKworICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwOgorICAgICAgICAo
SlNDOjpWYWx1ZVJlY292ZXJ5OjpkdW1wSW5Db250ZXh0IGNvbnN0KToKKyAgICAgICAgKiBieXRl
Y29kZS9WYWx1ZVJlY292ZXJ5Lmg6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmNhbGxl
ZVNhdmVSZWdEaXNwbGFjZWRJbkpTU3RhY2spOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5
Ojppc0luSlNTdGFjayBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmRhdGFG
b3JtYXQgY29uc3QpOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojp3aXRoTG9jYWxzT2Zm
c2V0IGNvbnN0KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBq
aXQvQ2FjaGVkUmVjb3ZlcnkuY3BwOgorICAgICAgICAoSlNDOjpDYWNoZWRSZWNvdmVyeTo6bG9h
ZHNJbnRvR1BSIGNvbnN0KToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3Bw
OgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVn
aXN0ZXJzKToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaDoKKyAgICAgICAg
KiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVm
Zmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
ci5oOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6c25hcHNob3QgY29uc3QpOgor
ICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6YWRkTmV3KToKKyAgICAgICAgKiBqaXQv
Q2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZm
bGVyOjplbWl0TG9hZCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjplbWl0RGlz
cGxhY2UpOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChKU0M6OkdQUkluZm86
OnRvUmVnaXN0ZXIpOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAg
KiBqaXQvUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAoSlNDOjpSZWdpc3RlclNldDo6ZGZnQ2Fs
bGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMy
XzY0LmFzbToKKwogMjAyMS0wOS0yNyAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBCdWlsZCBhbiB1bmxpbmtlZCBiYXNlbGluZSBKSVQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAppbmRleCBlNDI0NWVhYmVj
M2UzMjI0YTVkYTVmZjc1MjViNTVkYzljYTcwMTY2Li4wMmVkZjAzMjFhN2IyZWY1MDg2N2QyNmM0
NzE1ZDhiMjg1YjdkZTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvVmFsdWVSZWNvdmVyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1ZhbHVlUmVjb3ZlcnkuY3BwCkBAIC0xMTQsNiArMTE0LDE0IEBAIHZvaWQgVmFsdWVSZWNvdmVy
eTo6ZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkg
Y29uc3QKICAgICBjYXNlIEJvb2xlYW5EaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIG91dC5w
cmludCgiKmJvb2woIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJldHVybjsK
KyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgQ1NSTG9EaXNwbGFjZWRJbkpTU3RhY2s6
CisgICAgICAgIG91dC5wcmludCgiKkNTUkxvKCIsIHZpcnR1YWxSZWdpc3RlcigpLCAiKSIpOwor
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBDU1JIaURpc3BsYWNlZEluSlNTdGFjazoKKyAgICAg
ICAgb3V0LnByaW50KCIqQ1NSSGkoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CisgICAgICAg
IHJldHVybjsKKyNlbmRpZgogICAgIGNhc2UgRGlyZWN0QXJndW1lbnRzVGhhdFdlcmVOb3RDcmVh
dGVkOgogICAgICAgICBvdXQucHJpbnQoIkRpcmVjdEFyZ3VtZW50cygiLCBub2RlSUQoKSwgIiki
KTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9W
YWx1ZVJlY292ZXJ5LmgKaW5kZXggNWU0M2JjNzJiYmNjNGZmOTdhNjhmODNkYTgzMDk0ZTU4ZGEz
YjMxNC4uMDIxN2JjNzNhMTM3ZmU0Y2ExNmNjNmFhYjIwOGNhNTdiNmQyZmM3OCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBAIC02NSw2ICs2
NSwxMSBAQCBlbnVtIFZhbHVlUmVjb3ZlcnlUZWNobmlxdWUgOiB1aW50OF90IHsKICAgICBEb3Vi
bGVEaXNwbGFjZWRJbkpTU3RhY2ssCiAgICAgQ2VsbERpc3BsYWNlZEluSlNTdGFjaywKICAgICBC
b29sZWFuRGlzcGxhY2VkSW5KU1N0YWNrLAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgLy8g
MzItYml0IGNhbGxlZSBzYXZlIHJlZ2lzdGVyIG9uIHRoZSBzdGFjaywgd2l0aCAyIHJlZ2lzdGVy
cyBwYWNrZWQgaW50byBhIDY0LWJpdCBzbG90CisgICAgQ1NSTG9EaXNwbGFjZWRJbkpTU3RhY2ss
IC8vIENTUiBhdCBsb3dlciAgbWVtb3J5IGFkZHJlc3Mgd2l0aGluIHRoZSBzbG90CisgICAgQ1NS
SGlEaXNwbGFjZWRJbkpTU3RhY2ssIC8vIENTUiBhdCBoaWdoZXIgbWVtb3J5IGFkZHJlc3Mgd2l0
aGluIHRoZSBzbG90CisjZW5kaWYKICAgICAvLyBJdCdzIGFuIEFyZ3VtZW50cyBvYmplY3QuIFRo
aXMgYXJpc2VzIGJlY2F1c2Ugb2YgdGhlIHNpbXBsaWZpZWQgYXJndW1lbnRzIHNpbXBsaWZpY2F0
aW9uIGRvbmUgYnkgdGhlIERGRy4KICAgICBEaXJlY3RBcmd1bWVudHNUaGF0V2VyZU5vdENyZWF0
ZWQsCiAgICAgQ2xvbmVkQXJndW1lbnRzVGhhdFdlcmVOb3RDcmVhdGVkLApAQCAtMTg3LDcgKzE5
MiwyOSBAQCBwdWJsaWM6CiAgICAgICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgVVNFKEpTVkFMVUU2NCkK
KyAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNr
KFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFsUmVnKQorICAgIHsKKyAgICAgICAgVmFsdWVSZWNvdmVy
eSByZXN1bHQ7CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxSZWcgPSB2
aXJ0dWFsUmVnLm9mZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUp
OworICAgICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBEaXNwbGFjZWRJbkpTU3RhY2s7CisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2Vsc2UKKyAgICBzdGF0aWMgVmFsdWVSZWNvdmVy
eSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFs
UmVnLCBib29sIGluSGlXb3JkKQorICAgIHsKKyAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7
CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxSZWcgPSB2aXJ0dWFsUmVn
Lm9mZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOworICAgICAg
ICByZXN1bHQubV90ZWNobmlxdWUgPSBpbkhpV29yZCA/IENTUkhpRGlzcGxhY2VkSW5KU1N0YWNr
IDogQ1NSTG9EaXNwbGFjZWRJbkpTU3RhY2s7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorI2VuZGlmCisKICAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjb25zdGFudChKU1ZhbHVlIHZh
bHVlKQogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CkBAIC0yNjMsNiArMjkw
LDEwIEBAIHB1YmxpYzoKICAgICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CiAg
ICAgICAgIGNhc2UgQ2VsbERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2FzZSBCb29sZWFu
RGlzcGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2Ug
Q1NSTG9EaXNwbGFjZWRJbkpTU3RhY2s6CisgICAgICAgIGNhc2UgQ1NSSGlEaXNwbGFjZWRJbkpT
U3RhY2s6CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjgyLDYgKzMxMywxMCBAQCBwdWJsaWM6
CiAgICAgICAgICAgICByZXR1cm4gRGF0YUZvcm1hdEpTOwogICAgICAgICBjYXNlIFVuYm94ZWRJ
bnQzMkluR1BSOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgorI2lmIFVT
RShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgQ1NSTG9EaXNwbGFjZWRJbkpTU3RhY2s6Cisg
ICAgICAgIGNhc2UgQ1NSSGlEaXNwbGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgICAg
IHJldHVybiBEYXRhRm9ybWF0SW50MzI7CiAgICAgICAgIGNhc2UgVW5ib3hlZEludDUySW5HUFI6
CiAgICAgICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0zNjEsNiArMzk2LDEw
IEBAIHB1YmxpYzoKICAgICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAg
ICAgIGNhc2UgQ2VsbERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2FzZSBCb29sZWFuRGlz
cGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgQ1NS
TG9EaXNwbGFjZWRJbkpTU3RhY2s6CisgICAgICAgIGNhc2UgQ1NSSGlEaXNwbGFjZWRJbkpTU3Rh
Y2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAg
ICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazogewogICAgICAgICAgICAgVmFs
dWVSZWNvdmVyeSByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCBiMmU2MjMwZDVkNTYxNDc5MTVkYmJkNWQx
NjQyMmYzN2EwZjM5OWU5Li41NWRhMDQxOGU5MzYwNmM0MWY4NDQ4OGE5MTgwZDA3YzIzZjVlOThh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAKQEAgLTc0Miw2ICs3NDIsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0
Q2FsbChOb2RlKiBub2RlKQogICAgICAgICAgICAgCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBudW1QYXNzZWRBcmdzOyBpIDwgbnVtQWxsb2NhdGVkQXJnczsgKytpKQogICAgICAgICAg
ICAgICAgIHNodWZmbGVEYXRhLmFyZ3NbaV0gPSBWYWx1ZVJlY292ZXJ5Ojpjb25zdGFudChqc1Vu
ZGVmaW5lZCgpKTsKKworICAgICAgICAgICAgc2h1ZmZsZURhdGEuc2V0dXBDYWxsZWVTYXZlUmVn
aXN0ZXJzKG1faml0LmNvZGVCbG9jaygpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IG1faml0LnN0b3JlMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihudW1QYXNzZWRBcmdz
KSwgbV9qaXQuY2FsbGVlRnJhbWVQYXlsb2FkU2xvdChDYWxsRnJhbWVTbG90Ojphcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcykpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWNoZWRSZWNvdmVyeS5jcHAKaW5kZXggZjRhYWNjNmM4MGVlNTUwOTA4NDc3ODUzNmVjN2Iw
ODZjMTg4MjMwMy4uNjEwY2M3NmFhY2NlMDVjZDdhMjcwY2U2MDAwMzBiMDE1ZWI0MzQzMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5jcHAKQEAgLTU5LDYg
KzU5LDEwIEBAIGJvb2wgQ2FjaGVkUmVjb3Zlcnk6OmxvYWRzSW50b0dQUigpIGNvbnN0CiAjZW5k
aWYKICAgICBjYXNlIEJvb2xlYW5EaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgY2FzZSBDZWxsRGlz
cGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgY2FzZSBDU1JMb0Rp
c3BsYWNlZEluSlNTdGFjazoKKyAgICBjYXNlIENTUkhpRGlzcGxhY2VkSW5KU1N0YWNrOgorI2Vu
ZGlmCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKaW5kZXggMzJkNmU0
YzBiMzZiZmQ2MWQxNTA1MmY4NWExMmNhZWNlM2JiYjU1Mi4uMmFjZmQ5YWQwZGM3MzJjMjBkZjQ1
NTA3MmMyYmU2N2Y1NzNjNDNkNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKLSNpZiBVU0UoSlNWQUxVRTY0KQotCiB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRh
OjpzZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7CiAgICAg
c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKGNvZGVCbG9jay0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygp
KTsKQEAgLTQ5LDkgKzQ3LDIzIEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2Fs
bGVlU2F2ZVJlZ2lzdGVycyhjb25zdCBSZWdpc3RlckF0T2Zmc2V0TGlzdCoKICAgICAgICAgaWYg
KCFjYWxsZWVTYXZlUmVnaXN0ZXJzLmdldChlbnRyeS5yZWcoKSkpCiAgICAgICAgICAgICBjb250
aW51ZTsKIAotICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBlbnRyeS5vZmZzZXRB
c0luZGV4KCkgfTsKKyAgICAgICAgaW50IHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyA9IGVu
dHJ5Lm9mZnNldEFzSW5kZXgoKTsKKworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIC8vIENQ
VSByZWdpc3RlcnMgYXJlIHRoZSBzYW1lIHNpemUgYXMgdmlydHVhbCByZWdpc3RlcnMKKyAgICAg
ICAgVmlydHVhbFJlZ2lzdGVyIHNhdmVTbG90IHsgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJz
IH07CiAgICAgICAgIHJlZ2lzdGVyc1tlbnRyeS5yZWcoKV0KLSAgICAgICAgICAgID0gVmFsdWVS
ZWNvdmVyeTo6ZGlzcGxhY2VkSW5KU1N0YWNrKHNhdmVTbG90LCBEYXRhRm9ybWF0SlMpOworICAg
ICAgICAgICAgPSBWYWx1ZVJlY292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNr
KHNhdmVTbG90KTsKKyNlbHNlCisgICAgICAgIC8vIE9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzLCAy
IGNhbGxlZSBzYXZlZCByZWdpc3RlcnMgbWF5IGJlIHBhY2tlZCBpbnRvIHRoZSBzYW1lIHNsb3QK
KyAgICAgICAgYm9vbCBpbkhpV29yZCA9IHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyAlIDI7
CisgICAgICAgIGlmIChzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgPCAwKQorICAgICAgICAg
ICAgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIC09IDE7IC8vIFJvdW5kIHRvd2FyZHMgLWlu
ZgorICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4SW5DUFVS
ZWdpc3RlcnMgLyAyIH07CisgICAgICAgIHJlZ2lzdGVyc1tlbnRyeS5yZWcoKV0KKyAgICAgICAg
ICAgID0gVmFsdWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayhzYXZl
U2xvdCwgaW5IaVdvcmQpOworI2VuZGlmCisKICAgICB9CiAKICAgICBmb3IgKFJlZyByZWcgPSBS
ZWc6OmZpcnN0KCk7IHJlZyA8PSBSZWc6Omxhc3QoKTsgcmVnID0gcmVnLm5leHQoKSkgewpAQCAt
NjEsMTIgKzczLDE0IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2
ZVJlZ2lzdGVycyhjb25zdCBSZWdpc3RlckF0T2Zmc2V0TGlzdCoKICAgICAgICAgaWYgKHJlZ2lz
dGVyc1tyZWddKQogICAgICAgICAgICAgY29udGludWU7CiAKKyNpZiBVU0UoSlNWQUxVRTY0KQog
ICAgICAgICByZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6OmluUmVnaXN0ZXIocmVnLCBE
YXRhRm9ybWF0SlMpOworI2Vsc2UKKyAgICAgICAgcmVnaXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292
ZXJ5OjppblJlZ2lzdGVyKHJlZywgRGF0YUZvcm1hdEludDMyKTsKKyNlbmRpZgogICAgIH0KIH0K
IAotI2VuZGlmIC8vIFVTRShKU1ZBTFVFNjQpCi0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5k
aWYgLy8gRU5BQkxFKEpJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q2FsbEZyYW1lU2h1ZmZsZURhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZy
YW1lU2h1ZmZsZURhdGEuaAppbmRleCBjNmI3MGYwNWQxMDliMTg1ZjRkMTJiYzcwOWY4Zjc2N2Ni
YmYxZjM3Li4zMzY1N2UzM2E2NGYzNzgxZjQzMDk5OGMxMzMzNzFhMWFhNjRiNzVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5oCkBAIC00
NCwxMyArNDQsMTMgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG51bUxvY2FscyB7IFVJTlRfTUFY
IH07CiAgICAgdW5zaWduZWQgbnVtUGFzc2VkQXJncyB7IFVJTlRfTUFYIH07CiAgICAgdW5zaWdu
ZWQgbnVtUGFyYW1ldGVycyB7IFVJTlRfTUFYIH07IC8vIE9uIG91ciBtYWNoaW5lIGZyYW1lLgot
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgUmVnaXN0ZXJNYXA8VmFsdWVSZWNvdmVyeT4gcmVnaXN0
ZXJzOworI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgR1BSUmVnIG51bWJlclRhZ1JlZ2lzdGVyIHsg
SW52YWxpZEdQUlJlZyB9OworI2VuZGlmCiAKICAgICB2b2lkIHNldHVwQ2FsbGVlU2F2ZVJlZ2lz
dGVycyhDb2RlQmxvY2sqKTsKICAgICB2b2lkIHNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhjb25z
dCBSZWdpc3RlckF0T2Zmc2V0TGlzdCopOwotI2VuZGlmCiAgICAgVmFsdWVSZWNvdmVyeSBjYWxs
ZWU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFt
ZVNodWZmbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZXIuY3BwCmluZGV4IDNiNTM3NGRhMTY2ZmY3MTk5ZjVmYWU0NTVhYTY2NjNlYmRlZTUzZDUuLmQz
NTc0ZmZmNDAzMjFjMmIwYzgzODNmZjAxZGFiNmZhZjhjYjRjZDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCkBAIC01MiwxMyArNTIsOCBA
QCBDYWxsRnJhbWVTaHVmZmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIoQ0NhbGxIZWxwZXJzJiBqaXQs
IGNvbnN0IENhbGxGcmFtZVNodWZmbGVEYQogICAgIGZvciAodW5zaWduZWQgaSA9IEZQUkluZm86
Om51bWJlck9mUmVnaXN0ZXJzOyBpLS07ICkKICAgICAgICAgbV9sb2NrZWRSZWdpc3RlcnMuY2xl
YXIoRlBSSW5mbzo6dG9SZWdpc3RlcihpKSk7CiAKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIC8v
IC4uLiBhcyB3ZWxsIGFzIHRoZSBydW50aW1lIHJlZ2lzdGVycyBvbiA2NC1iaXQgYXJjaGl0ZWN0
dXJlcy4KLSAgICAvLyBIb3dldmVyIGRvIG5vdCB1c2UgdGhlc2UgcmVnaXN0ZXJzIG9uIDMyLWJp
dCBhcmNoaXRlY3R1cmVzIHNpbmNlCi0gICAgLy8gc2F2aW5nIGFuZCByZXN0b3JpbmcgY2FsbGVl
LXNhdmVkIHJlZ2lzdGVycyBpbiBDYWxsRnJhbWVTaHVmZmxlciBpc24ndCBzdXBwb3J0ZWQKLSAg
ICAvLyBvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcyB5ZXQuCisgICAgLy8gLi4uIGFzIHdlbGwgYXMg
dGhlIGNhbGxlZSBzYXZlZCByZWdpc3RlcnMKICAgICBtX2xvY2tlZFJlZ2lzdGVycy5leGNsdWRl
KFJlZ2lzdGVyU2V0Ojp2bUNhbGxlZVNhdmVSZWdpc3RlcnMoKSk7Ci0jZW5kaWYKIAogICAgIEFT
U0VSVCghZGF0YS5jYWxsZWUuaXNJbkpTU3RhY2soKSB8fCBkYXRhLmNhbGxlZS52aXJ0dWFsUmVn
aXN0ZXIoKS5pc0xvY2FsKCkpOwogICAgIGFkZE5ldyhDYWxsRnJhbWVTbG90OjpjYWxsZWUsIGRh
dGEuY2FsbGVlKTsKQEAgLTY4LDE3ICs2MywyMSBAQCBDYWxsRnJhbWVTaHVmZmxlcjo6Q2FsbEZy
YW1lU2h1ZmZsZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IENhbGxGcmFtZVNodWZmbGVEYQog
ICAgICAgICBhZGROZXcodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnRJbmNsdWRpbmdUaGlzKGkp
LCBkYXRhLmFyZ3NbaV0pOwogICAgIH0KIAotI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgZm9yIChS
ZWcgcmVnID0gUmVnOjpmaXJzdCgpOyByZWcgPD0gUmVnOjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0
KCkpIHsKICAgICAgICAgaWYgKCFkYXRhLnJlZ2lzdGVyc1tyZWddLmlzU2V0KCkpCiAgICAgICAg
ICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAocmVnLmlzR1BSKCkpCisgICAgICAgIGlmIChy
ZWcuaXNHUFIoKSkgeworI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgICAgICBhZGROZXcoSlNW
YWx1ZVJlZ3MocmVnLmdwcigpKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7Ci0gICAgICAgIGVsc2UK
KyNlbHNlCisgICAgICAgICAgICBhZGROZXcocmVnLmdwcigpLCBkYXRhLnJlZ2lzdGVyc1tyZWdd
KTsKKyNlbmRpZgorICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGFkZE5ldyhyZWcuZnByKCks
IGRhdGEucmVnaXN0ZXJzW3JlZ10pOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAg
bV9udW1iZXJUYWdSZWdpc3RlciA9IGRhdGEubnVtYmVyVGFnUmVnaXN0ZXI7CiAgICAgaWYgKG1f
bnVtYmVyVGFnUmVnaXN0ZXIgIT0gSW52YWxpZEdQUlJlZykKICAgICAgICAgbG9ja0dQUihtX251
bWJlclRhZ1JlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q2FsbEZyYW1lU2h1ZmZsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1l
U2h1ZmZsZXIuaAppbmRleCBlMDQ4YTRkY2E2NjY1Njk5MWEwNDNhZTk0YjgwMGJiMTE0MTYwYjBj
Li42ZjQ3MmEzYjczNjRhNDJjZjUxY2UzMWJiM2NmOGRmYmQ2MWEwZTBhIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oCkBAIC0xMTcsNyArMTE3LDIy
IEBAIHB1YmxpYzoKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAgICAgZGF0YS5yZWdpc3Rl
cnNbcmVnXSA9IGNhY2hlZFJlY292ZXJ5LT5yZWNvdmVyeSgpOwogI2Vsc2UKKyNpZiBDUFUoQklH
X0VORElBTikKKyAgICAgICAgICAgIC8vIENTUiByZXN0b3JlIG9ubHkgc3VwcG90ZXJkIG9uIGxp
dHRsZSBlbmRpYW4gMzItYml0IGFyY2hpdGVjdHVyZXMgYXQgdGhlIG1vbWVudAorICAgICAgICAg
ICAgLy8gU2VlIGNvbW1lbnQgaW4gYWRkTmV3KEdQUlJlZywgLi4uKQogICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbHNlCisgICAgICAgICAgICBWYWx1ZVJlY292
ZXJ5IHJlY292ZXJ5ID0gY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCk7CisgICAgICAgICAgICBp
ZiAocmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gRGlzcGxhY2VkSW5KU1N0YWNrKSB7CisgICAgICAg
ICAgICAgICAgSlNWYWx1ZVJlZ3Mgd2FudGVkSlNWYWx1ZVJlZyA9IGNhY2hlZFJlY292ZXJ5LT53
YW50ZWRKU1ZhbHVlUmVncygpOworICAgICAgICAgICAgICAgIEFTU0VSVChyZWcgPT0gd2FudGVk
SlNWYWx1ZVJlZy5wYXlsb2FkR1BSKCkgfHwgcmVnID09IHdhbnRlZEpTVmFsdWVSZWcudGFnR1BS
KCkpOworICAgICAgICAgICAgICAgIGJvb2wgaW5IaVdvcmQgPSByZWcgPT0gd2FudGVkSlNWYWx1
ZVJlZy50YWdHUFIoKTsKKyAgICAgICAgICAgICAgICBkYXRhLnJlZ2lzdGVyc1tyZWddID0gVmFs
dWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayhyZWNvdmVyeS52aXJ0
dWFsUmVnaXN0ZXIoKSwgaW5IaVdvcmQpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBBU1NFUlQocmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gQ1NSSGlEaXNwbGFjZWRJbkpT
U3RhY2spOworICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSByZWNvdmVyeTsK
KyAgICAgICAgICAgIH0KKyNlbmRpZgogI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IGRhdGE7CkBAIC02NjMsNiArNjc4LDM1IEBAIHByaXZhdGU6CiAgICAgICAgIGNhY2hlZFJlY292
ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhqc1ZhbHVlUmVncyk7CiAgICAgfQogCisjaWYgVVNF
KEpTVkFMVUUzMl82NCkKKyAgICB2b2lkIGFkZE5ldyhHUFJSZWcgZ3ByLCBWYWx1ZVJlY292ZXJ5
IHJlY292ZXJ5KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdwciAhPSBJbnZhbGlkR1BSUmVnICYm
ICFtX25ld1JlZ2lzdGVyc1tncHJdKTsKKyAgICAgICAgQVNTRVJUKHJlY292ZXJ5LnRlY2huaXF1
ZSgpID09IENTUkhpRGlzcGxhY2VkSW5KU1N0YWNrIHx8IHJlY292ZXJ5LnRlY2huaXF1ZSgpID09
IENTUkxvRGlzcGxhY2VkSW5KU1N0YWNrKTsKKyAgICAgICAgQ2FjaGVkUmVjb3ZlcnkqIGNhY2hl
ZFJlY292ZXJ5ID0gYWRkQ2FjaGVkUmVjb3ZlcnkocmVjb3ZlcnkpOworI2lmIENQVShCSUdfRU5E
SUFOKQorICAgICAgICAvLyBDU1IgcmVzdG9yZSBvbmx5IHN1cHBvdGVyZCBvbiBsaXR0bGUgZW5k
aWFuIDMyLWJpdCBhcmNoaXRlY3R1cmVzIGF0IHRoZSBtb21lbnQKKyAgICAgICAgLy8gTm90ZTog
Tm90IGEgYmlnIGRlYWwgdG8gaW1wbGVtZW50LCB0aGUgdGFnIGFuZCBwbGF5bG9hZCBhcmUgc3dh
cHBlZCBmb3IgRGF0YUZvcm1hdEpTLAorICAgICAgICAvLyBidXQgY3VycmVudGx5IHdlIGRvbid0
IGhhdmUgYSB0YXJnZXQgdG8gdGVzdCB0aGlzIG9uLi4uCisgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisjZWxzZQorICAgICAgICBpZiAoSlNWYWx1ZVJlZ3Mgb2xkUmVncyB7
IGNhY2hlZFJlY292ZXJ5LT53YW50ZWRKU1ZhbHVlUmVncygpIH0pIHsKKyAgICAgICAgICAgIEFT
U0VSVChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBDU1JIaURpc3BsYWNlZEluSlNTdGFjayk7IC8v
IER1ZSB0byBlbnVtZXJhdGlvbiBvcmRlcgorICAgICAgICAgICAgLy8gQ29tYmluZSB3aXRoIHRo
ZSBvdGhlciBDU1IgaW4gdGhlIHNhbWUgc2xvdAorICAgICAgICAgICAgQVNTRVJUKG9sZFJlZ3Mu
dGFnR1BSKCkgPT0gSW52YWxpZEdQUlJlZyk7CisgICAgICAgICAgICBBU1NFUlQob2xkUmVncy5w
YXlsb2FkR1BSKCkgIT0gSW52YWxpZEdQUlJlZyk7CisgICAgICAgICAgICBBU1NFUlQob2xkUmVn
cy5wYXlsb2FkR1BSKCkgIT0gZ3ByKTsKKyAgICAgICAgICAgIEFTU0VSVChjYWNoZWRSZWNvdmVy
eS0+cmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBDU1JMb0Rpc3BsYWNlZEluSlNTdGFjayk7Cisg
ICAgICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJl
Z3MoZ3ByLCBvbGRSZWdzLnBheWxvYWRHUFIoKSkpOworICAgICAgICAgICAgY2FjaGVkUmVjb3Zl
cnktPnNldFJlY292ZXJ5KAorICAgICAgICAgICAgICAgIFZhbHVlUmVjb3Zlcnk6OmRpc3BsYWNl
ZEluSlNTdGFjayhyZWNvdmVyeS52aXJ0dWFsUmVnaXN0ZXIoKSwgRGF0YUZvcm1hdEpTKSk7Cisg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpTVmFs
dWVSZWdzKEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShncHIpKTsKKyNlbmRpZgorICAgICAgICBt
X25ld1JlZ2lzdGVyc1tncHJdID0gY2FjaGVkUmVjb3Zlcnk7CisgICAgfQorI2VuZGlmCisKICAg
ICB2b2lkIGFkZE5ldyhGUFJSZWcgZnByLCBWYWx1ZVJlY292ZXJ5IHJlY292ZXJ5KQogICAgIHsK
ICAgICAgICAgQVNTRVJUKGZwciAhPSBJbnZhbGlkRlBSUmVnICYmICFtX25ld1JlZ2lzdGVyc1tm
cHJdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1
ZmZsZXIzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZm
bGVyMzJfNjQuY3BwCmluZGV4IDVkZmU5NmU4MWVjOWY2ZmE5Zjc3YTBkNjUxNTY3MjUzYjE2ZTc2
MDkuLjA5MzZmNzZjMmNhN2NjYTFhMWUxOTNkNThiMDM0ZjE4NTc3MDA1ZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcApA
QCAtMTI0LDggKzEyNCwxNyBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVyOjplbWl0TG9hZChDYWNo
ZWRSZWNvdmVyeSYgbG9jYXRpb24pCiAgICAgICAgIGlmIChyZXN1bHRHUFIgPT0gSW52YWxpZEdQ
UlJlZyB8fCBtX3JlZ2lzdGVyc1tyZXN1bHRHUFJdIHx8IG1fbG9ja2VkUmVnaXN0ZXJzLmdldChy
ZXN1bHRHUFIpKQogICAgICAgICAgICAgcmVzdWx0R1BSID0gZ2V0RnJlZUdQUigpOwogICAgICAg
ICBBU1NFUlQocmVzdWx0R1BSICE9IEludmFsaWRHUFJSZWcpOwotICAgICAgICBtX2ppdC5sb2Fk
UHRyKGFkZHJlc3Mud2l0aE9mZnNldChQYXlsb2FkT2Zmc2V0KSwgcmVzdWx0R1BSKTsKLSAgICAg
ICAgdXBkYXRlUmVjb3ZlcnkobG9jYXRpb24sIAorICAgICAgICBzd2l0Y2ggKGxvY2F0aW9uLnJl
Y292ZXJ5KCkudGVjaG5pcXVlKCkpIHsKKyAgICAgICAgY2FzZSBDU1JMb0Rpc3BsYWNlZEluSlNT
dGFjazoKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIFNob3Vs
ZCBoYXZlIGJlZW4gbWVyZ2VkIGludG8gRGlzcGxhY2VkSW5KU1N0YWNrCisgICAgICAgIGNhc2Ug
Q1NSSGlEaXNwbGFjZWRJbkpTU3RhY2s6CisgICAgICAgICAgICBtX2ppdC5sb2FkUHRyKGFkZHJl
c3Mud2l0aE9mZnNldChzaXplb2YoQ1BVUmVnaXN0ZXIpKSwgcmVzdWx0R1BSKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgbV9qaXQubG9hZFB0cihh
ZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJlc3VsdEdQUik7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgICAgICB1cGRhdGVSZWNvdmVyeShsb2NhdGlvbiwKICAg
ICAgICAgICAgIFZhbHVlUmVjb3Zlcnk6OmluR1BSKHJlc3VsdEdQUiwgbG9jYXRpb24ucmVjb3Zl
cnkoKS5kYXRhRm9ybWF0KCkpKTsKICAgICAgICAgaWYgKHZlcmJvc2UpCiAgICAgICAgICAgICBk
YXRhTG9nKGxvY2F0aW9uLnJlY292ZXJ5KCksICJcbiIpOwpAQCAtMTkwLDI4ICsxOTksMTggQEAg
dm9pZCBDYWxsRnJhbWVTaHVmZmxlcjo6ZW1pdERpc3BsYWNlKENhY2hlZFJlY292ZXJ5JiBsb2Nh
dGlvbikKICAgICBpZiAod2FudGVkVGFnR1BSICE9IEludmFsaWRHUFJSZWcpIHsKICAgICAgICAg
QVNTRVJUKCFtX2xvY2tlZFJlZ2lzdGVycy5nZXQod2FudGVkVGFnR1BSKSk7CiAgICAgICAgIGlm
IChDYWNoZWRSZWNvdmVyeSogY3VycmVudFRhZyB7IG1fcmVnaXN0ZXJzW3dhbnRlZFRhZ0dQUl0g
fSkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnRUYWcgPT0gJmxvY2F0aW9uKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsg
Iiwgd2FudGVkVGFnR1BSLCAiIGlzIE9LXG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgLy8gVGhpcyBjYW4gbmV2ZXIgaGFwcGVuIG9uIDMyYml0IHBsYXRmb3JtcyBz
aW5jZSB3ZQotICAgICAgICAgICAgICAgIC8vIGhhdmUgYXQgbW9zdCBvbmUgd2FudGVkIEpTVmFs
dWVSZWdzLCBmb3IgdGhlCi0gICAgICAgICAgICAgICAgLy8gY2FsbGVlLCBhbmQgbm8gY2FsbGVl
LXNhdmUgcmVnaXN0ZXJzLgotICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50
VGFnID09ICZsb2NhdGlvbik7CisgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAg
ICAgICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFRhZ0dQUiwgIiBpcyBPS1xuIik7CiAgICAgICAg
IH0KICAgICB9CiAKICAgICBpZiAod2FudGVkUGF5bG9hZEdQUiAhPSBJbnZhbGlkR1BSUmVnKSB7
CiAgICAgICAgIEFTU0VSVCghbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHdhbnRlZFBheWxvYWRHUFIp
KTsKICAgICAgICAgaWYgKENhY2hlZFJlY292ZXJ5KiBjdXJyZW50UGF5bG9hZCB7IG1fcmVnaXN0
ZXJzW3dhbnRlZFBheWxvYWRHUFJdIH0pIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50UGF5bG9h
ZCA9PSAmbG9jYXRpb24pIHsKLSAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAg
ICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRQYXlsb2FkR1BSLCAiIGlzIE9LXG4i
KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gU2VlIGFib3ZlCi0g
ICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnRQYXlsb2FkID09ICZsb2NhdGlv
bik7CisgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCIg
ICArICIsIHdhbnRlZFBheWxvYWRHUFIsICIgaXMgT0tcbiIpOwogICAgICAgICB9CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCmluZGV4IDVmZjYyNDc0MWFiNzBlOGMwNDM1
YmRmOWQyNWIxOTE0NjAzODFkOWUuLjJmN2NmNWFiYmIzOTljYTc0NDNlYWM4MzIwMzJmNmMwNzNi
NDJiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCkBAIC01MzgsNyArNTM4LDcg
QEAgcHVibGljOgogY2xhc3MgR1BSSW5mbyB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBHUFJSZWcg
UmVnaXN0ZXJUeXBlOwotICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZSZWdp
c3RlcnMgPSA5OworICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZSZWdpc3Rl
cnMgPSAxMDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJlck9mQXJndW1lbnRS
ZWdpc3RlcnMgPSBOVU1CRVJfT0ZfQVJHVU1FTlRfUkVHSVNURVJTOwogCiAgICAgLy8gVGVtcG9y
YXJ5IHJlZ2lzdGVycy4KQEAgLTU2Nyw3ICs1NjcsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEdQ
UlJlZyB0b1JlZ2lzdGVyKHVuc2lnbmVkIGluZGV4KQogICAgIHsKICAgICAgICAgQVNTRVJUKGlu
ZGV4IDwgbnVtYmVyT2ZSZWdpc3RlcnMpOwotICAgICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJl
Z2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZSZWdpc3RlcnNdID0geyByZWdUMCwgcmVnVDEsIHJlZ1Qy
LCByZWdUMywgcmVnVDQsIHJlZ1Q1LCByZWdUNiwgcmVnVDcsIHJlZ0NTMSB9OworICAgICAgICBz
dGF0aWMgY29uc3QgR1BSUmVnIHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZSZWdpc3RlcnNdID0g
eyByZWdUMCwgcmVnVDEsIHJlZ1QyLCByZWdUMywgcmVnVDQsIHJlZ1Q1LCByZWdUNiwgcmVnVDcs
IHJlZ0NTMCwgcmVnQ1MxIH07CiAgICAgICAgIHJldHVybiByZWdpc3RlckZvckluZGV4W2luZGV4
XTsKICAgICB9CiAKQEAgLTU4Myw3ICs1ODMsNyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVChy
ZWcgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAgICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KHJl
ZykgPCAxNik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmRleEZvclJlZ2lzdGVy
WzE2XSA9Ci0gICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYsIEludmFsaWRJbmRleCwgSW52
YWxpZEluZGV4LCA0LCA1LCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZElu
ZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OworICAgICAgICAgICAgeyAwLCAxLCAy
LCAzLCA3LCA2LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgNCwgNSwgOSwgOCwgSW52YWxp
ZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4IH07CiAgICAg
ICAgIHVuc2lnbmVkIHJlc3VsdCA9IGluZGV4Rm9yUmVnaXN0ZXJbcmVnXTsKICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlZ2lzdGVyU2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQu
Y3BwCmluZGV4IGM1MjlkNzRhZmVjOGVhODY2YzA4NjQ2NDk1NGJmNzlhMTA4YjNkOTEuLjY0NmNk
NGY5MzUyZTc0MGVlYTllNjI0NjEzZGEyNjQyZGZjYjZjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCkBAIC0yNTQsNiArMjU0LDcgQEAgUmVnaXN0ZXJTZXQg
UmVnaXN0ZXJTZXQ6OmRmZ0NhbGxlZVNhdmVSZWdpc3RlcnMoKQogICAgIHJlc3VsdC5zZXQoR1BS
SW5mbzo6cmVnQ1M2KTsKICNlbmRpZgogI2VsaWYgQ1BVKEFSTV9USFVNQjIpCisgICAgcmVzdWx0
LnNldChHUFJJbmZvOjpyZWdDUzApOwogICAgIHJlc3VsdC5zZXQoR1BSSW5mbzo6cmVnQ1MxKTsK
ICNlbGlmIENQVShBUk02NCkKICAgICBzdGF0aWNfYXNzZXJ0KEdQUkluZm86OnJlZ0NTOCA9PSBH
UFJJbmZvOjpudW1iZXJUYWdSZWdpc3RlciwgIiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQppbmRleCA1ODA2
YTllYTZlNzE0OTdmZWY1MTBjY2MwMWUzZDhkNGI3MjAyYzkxLi5kZDlhYTNmYTVjNDcyNGNiOGM2
NDk4NGQ5N2U0NzQzMGRmYmYwNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQpAQCAtNzksOCArNzksNiBA
QCBlbmQKICMgQWZ0ZXIgY2FsbGluZywgY2FsbGluZyBieXRlY29kZSBpcyBjbGFpbWluZyBpbnB1
dCByZWdpc3RlcnMgYXJlIG5vdCB1c2VkLgogbWFjcm8gZGlzcGF0Y2hBZnRlckNhbGwoc2l6ZSwg
b3Bjb2RlU3RydWN0LCB2YWx1ZVByb2ZpbGVOYW1lLCBkc3RWaXJ0dWFsUmVnaXN0ZXIsIGRpc3Bh
dGNoKQogICAgIGxvYWRpIEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzICsgVGFnT2Zmc2V0W2Nm
cl0sIFBDCi0gICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIFBCCi0gICAgbG9hZHAgQ29kZUJsb2Nr
OjptX2luc3RydWN0aW9uc1Jhd1BvaW50ZXJbUEJdLCBQQgogICAgIGdldChzaXplLCBvcGNvZGVT
dHJ1Y3QsIGRzdFZpcnR1YWxSZWdpc3RlciwgdDMpCiAgICAgc3RvcmVpIHIxLCBUYWdPZmZzZXRb
Y2ZyLCB0MywgOF0KICAgICBzdG9yZWkgcjAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439457</attachid>
            <date>2021-09-28 04:34:43 -0700</date>
            <delta_ts>2021-09-28 04:45:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20210928123442.patch</filename>
            <type>text/plain</type>
            <size>19786</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZmYyZjY5NDFmNGY0MDhkZGQ5YzQyYWFhYmZjNWYwZDFkNDlmNTEyLi40NjUwMmMyYjIzYWNhMTVk
MDcyNGEyZTk4ZWQ5NTY0YjVjNDdlZWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0wOS0yOCAgR2V6YSBMb3JlICA8Z2V6YWxvcmVAZ21haWwuY29tPgor
CisgICAgICAgIEFsbG93IERGRyB0byB1c2UgcmVnQ1MwIEdQUiAoTExJbnQgbWV0YWRhdGFUYWJs
ZSkgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaW5jcmVhc2VzIHRoZSBhdmFpbGFibGUgcmVnaXN0ZXJzIG9uIEFSTXY3IHRvIDEw
LiBGb3IgdGhpcyB0bworICAgICAgICB3b3JrIHByb3Blcmx5IEkgbmVlZGVkIHRvIHRlYWNoIENh
bGxGcmFtZVNodWZmbGVyICh3aGljaCBpcyB1c2VkCisgICAgICAgIGZvciBzaHVmZmxpbmcgc3Rh
Y2sgZnJhbWVzIGZvciB0YWlsIGNhbGxzKSBob3cgdG8gcmVzdG9yZSBDU1JzIG9uCisgICAgICAg
IDMyLWJpdCBhcmNoaXRlY3R1cmVzLCB3aGljaCBub3cgd29ya3MgZm9yIGxpdHRsZSBlbmRpYW4g
Q1BVcy4KKworICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwOgorICAgICAgICAo
SlNDOjpWYWx1ZVJlY292ZXJ5OjpkdW1wSW5Db250ZXh0IGNvbnN0KToKKyAgICAgICAgKiBieXRl
Y29kZS9WYWx1ZVJlY292ZXJ5Lmg6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmNhbGxl
ZVNhdmVSZWdEaXNwbGFjZWRJbkpTU3RhY2spOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5
Ojppc0luSlNTdGFjayBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmRhdGFG
b3JtYXQgY29uc3QpOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojp3aXRoTG9jYWxzT2Zm
c2V0IGNvbnN0KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBq
aXQvQ2FjaGVkUmVjb3ZlcnkuY3BwOgorICAgICAgICAoSlNDOjpDYWNoZWRSZWNvdmVyeTo6bG9h
ZHNJbnRvR1BSIGNvbnN0KToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3Bw
OgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVn
aXN0ZXJzKToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaDoKKyAgICAgICAg
KiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVm
Zmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
ci5oOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6c25hcHNob3QgY29uc3QpOgor
ICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6YWRkTmV3KToKKyAgICAgICAgKiBqaXQv
Q2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZm
bGVyOjplbWl0TG9hZCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjplbWl0RGlz
cGxhY2UpOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChKU0M6OkdQUkluZm86
OnRvUmVnaXN0ZXIpOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAg
KiBqaXQvUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAoSlNDOjpSZWdpc3RlclNldDo6ZGZnQ2Fs
bGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMy
XzY0LmFzbToKKwogMjAyMS0wOS0yMSAgTWlraGFpbCBSLiBHYWRlbGhhICA8bWlraGFpbEBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFByZXZlbnQgdGVzdCBmcm9tIGFjY2Vzc2luZyBGUCByZWdpc3Rl
cnMgaWYgdGhleSBhcmUgbm90IGF2YWlsYWJsZSAoZS5nLiwgYXJtIHNvZnRGUCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAppbmRleCBlNDI0
NWVhYmVjM2UzMjI0YTVkYTVmZjc1MjViNTVkYzljYTcwMTY2Li4wODk2MjNiNmY0ZGY4MzljNTY0
YmFjMmJmNDYxMGViNzdlNTczMzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwCkBAIC05OSw2ICs5OSwxMSBAQCB2b2lkIFZhbHVlUmVj
b3Zlcnk6OmR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mIG91dCwgRHVtcENvbnRleHQqIGNvbnRl
eHQpIGNvbnN0CiAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgb3V0
LnByaW50KCIqaW50MzIoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJldHVy
bjsKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpT
U3RhY2s6CisgICAgICAgIG91dC5wcmludCgiKmludDMyVGFnKCIsIHZpcnR1YWxSZWdpc3Rlcigp
LCAiKSIpOworICAgICAgICByZXR1cm47CisjZW5kaWYKICAgICBjYXNlIEludDUyRGlzcGxhY2Vk
SW5KU1N0YWNrOgogICAgICAgICBvdXQucHJpbnQoIippbnQ1MigiLCB2aXJ0dWFsUmVnaXN0ZXIo
KSwgIikiKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9WYWx1ZVJlY292ZXJ5LmgKaW5kZXggNWU0M2JjNzJiYmNjNGZmOTdhNjhmODNkYTgzMDk0
ZTU4ZGEzYjMxNC4uMDgyMjRlZDdjYTViNThmMTVjZDllMWMwMzZiZmU1M2RmYjhhYzM5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBAIC02
MCw2ICs2MCw5IEBAIGVudW0gVmFsdWVSZWNvdmVyeVRlY2huaXF1ZSA6IHVpbnQ4X3QgewogICAg
IERpc3BsYWNlZEluSlNTdGFjaywKICAgICAvLyBJdCdzIGluIHRoZSBzdGFjaywgYXQgYSBkaWZm
ZXJlbnQgbG9jYXRpb24sIGFuZCBpdCdzIHVuYm94ZWQuCiAgICAgSW50MzJEaXNwbGFjZWRJbkpT
U3RhY2ssCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNT
dGFjaywgLy8gaW50MzIgc3RvcmVkIGluIHRhZyBmaWVsZAorI2VuZGlmCiAgICAgSW50NTJEaXNw
bGFjZWRJbkpTU3RhY2ssCiAgICAgU3RyaWN0SW50NTJEaXNwbGFjZWRJbkpTU3RhY2ssCiAgICAg
RG91YmxlRGlzcGxhY2VkSW5KU1N0YWNrLApAQCAtMTg3LDcgKzE5MCwxOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQotICAgIAorCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBzdGF0aWMgVmFs
dWVSZWNvdmVyeSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKFZpcnR1YWxSZWdpc3Rl
ciB2aXJ0dWFsUmVnLCBib29sIGluVGFnKQorICAgIHsKKyAgICAgICAgVmFsdWVSZWNvdmVyeSBy
ZXN1bHQ7CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxSZWcgPSB2aXJ0
dWFsUmVnLm9mZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOwor
ICAgICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBpblRhZyA/IEludDMyVGFnRGlzcGxhY2VkSW5K
U1N0YWNrIDogSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s7CisgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgfQorI2VuZGlmCisKICAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjb25zdGFudChKU1Zh
bHVlIHZhbHVlKQogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CkBAIC0yNTgs
NiArMjczLDkgQEAgcHVibGljOgogICAgICAgICBzd2l0Y2ggKG1fdGVjaG5pcXVlKSB7CiAgICAg
ICAgIGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2Vk
SW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdE
aXNwbGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZElu
SlNTdGFjazoKICAgICAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAg
ICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0yODIsNiArMzAwLDkgQEAg
cHVibGljOgogICAgICAgICAgICAgcmV0dXJuIERhdGFGb3JtYXRKUzsKICAgICAgICAgY2FzZSBV
bmJveGVkSW50MzJJbkdQUjoKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoK
KyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5K
U1N0YWNrOgorI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gRGF0YUZvcm1hdEludDMyOwogICAg
ICAgICBjYXNlIFVuYm94ZWRJbnQ1MkluR1BSOgogICAgICAgICBjYXNlIEludDUyRGlzcGxhY2Vk
SW5KU1N0YWNrOgpAQCAtMzU4LDYgKzM3OSw5IEBAIHB1YmxpYzoKICAgICAgICAgc3dpdGNoICht
X3RlY2huaXF1ZSkgewogICAgICAgICBjYXNlIERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAg
Y2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAg
ICAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorI2VuZGlmCiAgICAgICAgIGNh
c2UgRG91YmxlRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIENlbGxEaXNwbGFjZWRJ
bkpTU3RhY2s6CiAgICAgICAgIGNhc2UgQm9vbGVhbkRpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
CmluZGV4IDUxZmUyZjRiYmUwZjUzNWU5MmZiMmYxY2QwODQ0NTNmNGE3NjZmMDkuLmEyZTYyMjdh
YzY3ODAyZjgyZGIzYTYyODY2NTBlNTI5ZmQwNTg0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNzQxLDYgKzc0
MSw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG51bVBhc3NlZEFyZ3M7IGkgPCBu
dW1BbGxvY2F0ZWRBcmdzOyArK2kpCiAgICAgICAgICAgICAgICAgc2h1ZmZsZURhdGEuYXJnc1tp
XSA9IFZhbHVlUmVjb3Zlcnk6OmNvbnN0YW50KGpzVW5kZWZpbmVkKCkpOworCisgICAgICAgICAg
ICBzaHVmZmxlRGF0YS5zZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMobV9qaXQuY29kZUJsb2NrKCkp
OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKG51bVBhc3NlZEFyZ3MpLCBtX2ppdC5jYWxsZWVGcmFtZVBheWxv
YWRTbG90KENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKSk7CiAgICAg
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVy
eS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAppbmRl
eCBmNGFhY2M2YzgwZWU1NTA5MDg0Nzc4NTM2ZWM3YjA4NmMxODgyMzAzLi4wMGU3MWY0ODdkYjMy
YThjZGQxNmU1NjIwMjMzMWM1MWZiOTFlMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0NhY2hlZFJlY292ZXJ5LmNwcApAQCAtNTIsNyArNTIsOSBAQCBib29sIENhY2hlZFJlY292
ZXJ5Ojpsb2Fkc0ludG9HUFIoKSBjb25zdAogewogICAgIHN3aXRjaCAocmVjb3ZlcnkoKS50ZWNo
bmlxdWUoKSkgewogICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6Ci0jaWYgVVNFKEpT
VkFMVUU2NCkKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFj
ZWRJbkpTU3RhY2s6CisjZWxpZiBVU0UoSlNWQUxVRTY0KQogICAgIGNhc2UgSW50NTJEaXNwbGFj
ZWRJbkpTU3RhY2s6CiAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAg
ICBjYXNlIERpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKaW5kZXggYzQ5ZTJiZjgwMTU5M2Y3ZGIzNzc4
ZmIzNjMyNWIwNjEyOWQyMzgzMy4uMzZiMmNlNjhiYTBjMGM5MmFjNTEwNDU3NGYxZjExNTEwMzI2
ZmMxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVm
ZmxlRGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVm
ZmxlRGF0YS5jcHAKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBV
U0UoSlNWQUxVRTY0KQotCiB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNh
dmVSZWdpc3RlcnMoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7CiAgICAgUmVnaXN0ZXJTZXQgY2Fs
bGVlU2F2ZVJlZ2lzdGVycyB7IFJlZ2lzdGVyU2V0Ojp2bUNhbGxlZVNhdmVSZWdpc3RlcnMoKSB9
OwpAQCAtNDUsOSArNDMsMjQgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxs
ZWVTYXZlUmVnaXN0ZXJzKENvZGVCbG9jayogY29kZUJsb2NrKQogICAgICAgICBpZiAoIWNhbGxl
ZVNhdmVSZWdpc3RlcnMuZ2V0KGVudHJ5LnJlZygpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwog
Ci0gICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7IGVudHJ5Lm9mZnNldEFzSW5kZXgo
KSB9OworICAgICAgICBpbnQgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzID0gZW50cnkub2Zm
c2V0QXNJbmRleCgpOworCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgLy8gQ1BVIHJlZ2lz
dGVycyBhcmUgdGhlIHNhbWUgc2l6ZSBhcyB2aXJ0dWFsIHJlZ2lzdGVycworICAgICAgICBWaXJ0
dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgfTsKICAg
ICAgICAgcmVnaXN0ZXJzW2VudHJ5LnJlZygpXQogICAgICAgICAgICAgPSBWYWx1ZVJlY292ZXJ5
OjpkaXNwbGFjZWRJbkpTU3RhY2soc2F2ZVNsb3QsIERhdGFGb3JtYXRKUyk7CisjZWxpZiBVU0Uo
SlNWQUxVRTMyXzY0KQorICAgICAgICAvLyBPbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcywgMiBjYWxs
ZWUgc2F2ZWQgcmVnaXN0ZXJzIG1heSBiZSBwYWNrZWQgaW50byB0aGUgc2FtZSBzbG90CisgICAg
ICAgIHN0YXRpY19hc3NlcnQoIVBheWxvYWRPZmZzZXQgfHwgIVRhZ09mZnNldCk7CisgICAgICAg
IHN0YXRpY19hc3NlcnQoUGF5bG9hZE9mZnNldCA9PSA0IHx8IFRhZ09mZnNldCA9PSA0KTsKKyAg
ICAgICAgYm9vbCBpblRhZyA9IChzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgJiAxKSA9PSAh
IVRhZ09mZnNldDsKKyAgICAgICAgaWYgKHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyA8IDAp
CisgICAgICAgICAgICBzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgLT0gMTsgLy8gUm91bmQg
dG93YXJkcyAtaW5mCisgICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7IHNhdmVTbG90
SW5kZXhJbkNQVVJlZ2lzdGVycyAvIDIgfTsKKyAgICAgICAgcmVnaXN0ZXJzW2VudHJ5LnJlZygp
XQorICAgICAgICAgICAgPSBWYWx1ZVJlY292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5K
U1N0YWNrKHNhdmVTbG90LCBpblRhZyk7CisjZW5kaWYKICAgICB9CiAKICAgICBmb3IgKFJlZyBy
ZWcgPSBSZWc6OmZpcnN0KCk7IHJlZyA8PSBSZWc6Omxhc3QoKTsgcmVnID0gcmVnLm5leHQoKSkg
ewpAQCAtNTcsMTIgKzcwLDE0IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2Fs
bGVlU2F2ZVJlZ2lzdGVycyhDb2RlQmxvY2sqIGNvZGVCbG9jaykKICAgICAgICAgaWYgKHJlZ2lz
dGVyc1tyZWddKQogICAgICAgICAgICAgY29udGludWU7CiAKKyNpZiBVU0UoSlNWQUxVRTY0KQog
ICAgICAgICByZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6OmluUmVnaXN0ZXIocmVnLCBE
YXRhRm9ybWF0SlMpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgcmVnaXN0ZXJz
W3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjppblJlZ2lzdGVyKHJlZywgRGF0YUZvcm1hdEludDMyKTsK
KyNlbmRpZgogICAgIH0KIH0KIAotI2VuZGlmIC8vIFVTRShKU1ZBTFVFNjQpCi0KIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaAppbmRleCBhNmRlMmE0Yzc2OGJlMTE4
OTBkNjcyOTRkNGQ3MzFlYmM3NzJjZjc3Li5mMzJkNzdiNzBjYjUzNWYyOTE2ODRhZmEwZjRlYWVl
YmNlOTIxY2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFt
ZVNodWZmbGVEYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVT
aHVmZmxlRGF0YS5oCkBAIC00MywxMiArNDMsMTIgQEAgcHVibGljOgogICAgIFZlY3RvcjxWYWx1
ZVJlY292ZXJ5PiBhcmdzOwogICAgIHVuc2lnbmVkIG51bUxvY2FscyB7IFVJTlRfTUFYIH07CiAg
ICAgdW5zaWduZWQgbnVtUGFzc2VkQXJncyB7IFVJTlRfTUFYIH07Ci0jaWYgVVNFKEpTVkFMVUU2
NCkKICAgICBSZWdpc3Rlck1hcDxWYWx1ZVJlY292ZXJ5PiByZWdpc3RlcnM7CisjaWYgVVNFKEpT
VkFMVUU2NCkKICAgICBHUFJSZWcgbnVtYmVyVGFnUmVnaXN0ZXIgeyBJbnZhbGlkR1BSUmVnIH07
CisjZW5kaWYKIAogICAgIHZvaWQgc2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKENvZGVCbG9jayop
OwotI2VuZGlmCiAgICAgVmFsdWVSZWNvdmVyeSBjYWxsZWU7CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCmluZGV4IGNlNWFlNDMwODdh
YmIzMjM5MmMwNDI3MjU0NmJmZTE1NjU3YjIyNTEuLmJhN2M3Y2QzOTEwNzY1M2RkZGM3NDNjNTIw
OWJjYWVmMTU3YzNmZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2Fs
bEZyYW1lU2h1ZmZsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZy
YW1lU2h1ZmZsZXIuY3BwCkBAIC01MiwxMyArNTIsOCBAQCBDYWxsRnJhbWVTaHVmZmxlcjo6Q2Fs
bEZyYW1lU2h1ZmZsZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IENhbGxGcmFtZVNodWZmbGVE
YQogICAgIGZvciAodW5zaWduZWQgaSA9IEZQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzOyBpLS07
ICkKICAgICAgICAgbV9sb2NrZWRSZWdpc3RlcnMuY2xlYXIoRlBSSW5mbzo6dG9SZWdpc3Rlcihp
KSk7CiAKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIC8vIC4uLiBhcyB3ZWxsIGFzIHRoZSBydW50
aW1lIHJlZ2lzdGVycyBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KLSAgICAvLyBIb3dldmVyIGRv
IG5vdCB1c2UgdGhlc2UgcmVnaXN0ZXJzIG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzIHNpbmNlCi0g
ICAgLy8gc2F2aW5nIGFuZCByZXN0b3JpbmcgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpbiBDYWxs
RnJhbWVTaHVmZmxlciBpc24ndCBzdXBwb3J0ZWQKLSAgICAvLyBvbiAzMi1iaXQgYXJjaGl0ZWN0
dXJlcyB5ZXQuCisgICAgLy8gLi4uIGFzIHdlbGwgYXMgdGhlIGNhbGxlZSBzYXZlZCByZWdpc3Rl
cnMKICAgICBtX2xvY2tlZFJlZ2lzdGVycy5leGNsdWRlKFJlZ2lzdGVyU2V0Ojp2bUNhbGxlZVNh
dmVSZWdpc3RlcnMoKSk7Ci0jZW5kaWYKIAogICAgIEFTU0VSVCghZGF0YS5jYWxsZWUuaXNJbkpT
U3RhY2soKSB8fCBkYXRhLmNhbGxlZS52aXJ0dWFsUmVnaXN0ZXIoKS5pc0xvY2FsKCkpOwogICAg
IGFkZE5ldyhDYWxsRnJhbWVTbG90OjpjYWxsZWUsIGRhdGEuY2FsbGVlKTsKQEAgLTY4LDE3ICs2
MywyMSBAQCBDYWxsRnJhbWVTaHVmZmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIoQ0NhbGxIZWxwZXJz
JiBqaXQsIGNvbnN0IENhbGxGcmFtZVNodWZmbGVEYQogICAgICAgICBhZGROZXcodmlydHVhbFJl
Z2lzdGVyRm9yQXJndW1lbnRJbmNsdWRpbmdUaGlzKGkpLCBkYXRhLmFyZ3NbaV0pOwogICAgIH0K
IAotI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgZm9yIChSZWcgcmVnID0gUmVnOjpmaXJzdCgpOyBy
ZWcgPD0gUmVnOjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0KCkpIHsKICAgICAgICAgaWYgKCFkYXRh
LnJlZ2lzdGVyc1tyZWddLmlzU2V0KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAg
ICBpZiAocmVnLmlzR1BSKCkpCisgICAgICAgIGlmIChyZWcuaXNHUFIoKSkgeworI2lmIFVTRShK
U1ZBTFVFNjQpCiAgICAgICAgICAgICBhZGROZXcoSlNWYWx1ZVJlZ3MocmVnLmdwcigpKSwgZGF0
YS5yZWdpc3RlcnNbcmVnXSk7Ci0gICAgICAgIGVsc2UKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQp
CisgICAgICAgICAgICBhZGROZXcocmVnLmdwcigpLCBkYXRhLnJlZ2lzdGVyc1tyZWddKTsKKyNl
bmRpZgorICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGFkZE5ldyhyZWcuZnByKCksIGRhdGEu
cmVnaXN0ZXJzW3JlZ10pOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgbV9udW1i
ZXJUYWdSZWdpc3RlciA9IGRhdGEubnVtYmVyVGFnUmVnaXN0ZXI7CiAgICAgaWYgKG1fbnVtYmVy
VGFnUmVnaXN0ZXIgIT0gSW52YWxpZEdQUlJlZykKICAgICAgICAgbG9ja0dQUihtX251bWJlclRh
Z1JlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZy
YW1lU2h1ZmZsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZXIuaAppbmRleCBmOWY3YTFiYzIzYTc5YzU1ZjJmYjIwYmRiZGIxZTQ3M2I4NjdlMDM2Li42ZGVm
MTVkYjNmZTI5YTIxMjVjMzU2ZmYwOWJjZmFiZDQ5MDU5ODNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oCkBAIC0xMTUsNiArMTE1LDE1IEBAIHB1
YmxpYzoKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgICAgICBkYXRhLnJlZ2lzdGVyc1ty
ZWddID0gY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCk7CisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0
KQorICAgICAgICAgICAgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSA9IGNhY2hlZFJlY292ZXJ5LT5y
ZWNvdmVyeSgpOworICAgICAgICAgICAgaWYgKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IERpc3Bs
YWNlZEluSlNTdGFjaykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHdhbnRlZEpTVmFs
dWVSZWcgPSBjYWNoZWRSZWNvdmVyeS0+d2FudGVkSlNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgICAg
ICAgICBBU1NFUlQocmVnID09IHdhbnRlZEpTVmFsdWVSZWcucGF5bG9hZEdQUigpIHx8IHJlZyA9
PSB3YW50ZWRKU1ZhbHVlUmVnLnRhZ0dQUigpKTsKKyAgICAgICAgICAgICAgICBib29sIGluVGFn
ID0gcmVnID09IHdhbnRlZEpTVmFsdWVSZWcudGFnR1BSKCk7CisgICAgICAgICAgICAgICAgZGF0
YS5yZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6OmNhbGxlZVNhdmVSZWdEaXNwbGFjZWRJ
bkpTU3RhY2socmVjb3ZlcnkudmlydHVhbFJlZ2lzdGVyKCksIGluVGFnKTsKKyAgICAgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSByZWNvdmVyeTsK
ICNlbHNlCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2VuZGlm
CkBAIC02NjIsNiArNjcxLDMyIEBAIHByaXZhdGU6CiAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5z
ZXRXYW50ZWRKU1ZhbHVlUmVncyhqc1ZhbHVlUmVncyk7CiAgICAgfQogCisjaWYgVVNFKEpTVkFM
VUUzMl82NCkKKyAgICB2b2lkIGFkZE5ldyhHUFJSZWcgZ3ByLCBWYWx1ZVJlY292ZXJ5IHJlY292
ZXJ5KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdwciAhPSBJbnZhbGlkR1BSUmVnICYmICFtX25l
d1JlZ2lzdGVyc1tncHJdKTsKKyAgICAgICAgQVNTRVJUKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09
IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrCisgICAgICAgICAgICB8fCByZWNvdmVyeS50ZWNobmlx
dWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjayk7CisgICAgICAgIENhY2hlZFJlY292
ZXJ5KiBjYWNoZWRSZWNvdmVyeSA9IGFkZENhY2hlZFJlY292ZXJ5KHJlY292ZXJ5KTsKKyAgICAg
ICAgaWYgKEpTVmFsdWVSZWdzIG9sZFJlZ3MgeyBjYWNoZWRSZWNvdmVyeS0+d2FudGVkSlNWYWx1
ZVJlZ3MoKSB9KSB7CisgICAgICAgICAgICAvLyBDb21iaW5lIHdpdGggdGhlIG90aGVyIENTUiBp
biB0aGUgc2FtZSB2aXJ0dWFsIHJlZ2lzdGVyIHNsb3QKKyAgICAgICAgICAgIEFTU0VSVChvbGRS
ZWdzLnRhZ0dQUigpID09IEludmFsaWRHUFJSZWcpOworICAgICAgICAgICAgQVNTRVJUKG9sZFJl
Z3MucGF5bG9hZEdQUigpICE9IEludmFsaWRHUFJSZWcgJiYgb2xkUmVncy5wYXlsb2FkR1BSKCkg
IT0gZ3ByKTsKKyAgICAgICAgICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBJbnQzMkRp
c3BsYWNlZEluSlNTdGFjaykgeworICAgICAgICAgICAgICAgIEFTU0VSVChjYWNoZWRSZWNvdmVy
eS0+cmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjayk7
CisgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpTVmFsdWVSZWdzKEpT
VmFsdWVSZWdzKG9sZFJlZ3MucGF5bG9hZEdQUigpLCBncHIpKTsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGNhY2hlZFJlY292ZXJ5LT5yZWNvdmVyeSgpLnRl
Y2huaXF1ZSgpID09IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrKTsKKyAgICAgICAgICAgICAgICBj
YWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJlZ3MoZ3ByLCBvbGRS
ZWdzLnBheWxvYWRHUFIoKSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FjaGVkUmVj
b3ZlcnktPnNldFJlY292ZXJ5KAorICAgICAgICAgICAgICAgIFZhbHVlUmVjb3Zlcnk6OmRpc3Bs
YWNlZEluSlNTdGFjayhyZWNvdmVyeS52aXJ0dWFsUmVnaXN0ZXIoKSwgRGF0YUZvcm1hdEpTKSk7
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpT
VmFsdWVSZWdzKEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShncHIpKTsKKyAgICAgICAgbV9uZXdS
ZWdpc3RlcnNbZ3ByXSA9IGNhY2hlZFJlY292ZXJ5OworICAgIH0KKyNlbmRpZgorCiAgICAgdm9p
ZCBhZGROZXcoRlBSUmVnIGZwciwgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSkKICAgICB7CiAgICAg
ICAgIEFTU0VSVChmcHIgIT0gSW52YWxpZEZQUlJlZyAmJiAhbV9uZXdSZWdpc3RlcnNbZnByXSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVy
MzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMy
XzY0LmNwcAppbmRleCA1ZGZlOTZlODFlYzlmNmZhOWY3N2EwZDY1MTU2NzI1M2IxNmU3NjA5Li4y
ZmVmNTNkYTYwYTJlNzVhNDdjNjRmOGQzMDQwYzQ2MjIyYmI4OGVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKQEAgLTEy
NCw4ICsxMjQsMTEgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlcjo6ZW1pdExvYWQoQ2FjaGVkUmVj
b3ZlcnkmIGxvY2F0aW9uKQogICAgICAgICBpZiAocmVzdWx0R1BSID09IEludmFsaWRHUFJSZWcg
fHwgbV9yZWdpc3RlcnNbcmVzdWx0R1BSXSB8fCBtX2xvY2tlZFJlZ2lzdGVycy5nZXQocmVzdWx0
R1BSKSkKICAgICAgICAgICAgIHJlc3VsdEdQUiA9IGdldEZyZWVHUFIoKTsKICAgICAgICAgQVNT
RVJUKHJlc3VsdEdQUiAhPSBJbnZhbGlkR1BSUmVnKTsKLSAgICAgICAgbV9qaXQubG9hZFB0cihh
ZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJlc3VsdEdQUik7Ci0gICAgICAgIHVw
ZGF0ZVJlY292ZXJ5KGxvY2F0aW9uLCAKKyAgICAgICAgaWYgKGxvY2F0aW9uLnJlY292ZXJ5KCku
dGVjaG5pcXVlKCkgPT0gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2spCisgICAgICAgICAgICBt
X2ppdC5sb2FkUHRyKGFkZHJlc3Mud2l0aE9mZnNldChUYWdPZmZzZXQpLCByZXN1bHRHUFIpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2ppdC5sb2FkUHRyKGFkZHJlc3Mud2l0aE9mZnNl
dChQYXlsb2FkT2Zmc2V0KSwgcmVzdWx0R1BSKTsKKyAgICAgICAgdXBkYXRlUmVjb3ZlcnkobG9j
YXRpb24sCiAgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5OjppbkdQUihyZXN1bHRHUFIsIGxvY2F0
aW9uLnJlY292ZXJ5KCkuZGF0YUZvcm1hdCgpKSk7CiAgICAgICAgIGlmICh2ZXJib3NlKQogICAg
ICAgICAgICAgZGF0YUxvZyhsb2NhdGlvbi5yZWNvdmVyeSgpLCAiXG4iKTsKQEAgLTE5MCwyOCAr
MTkzLDE4IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXREaXNwbGFjZShDYWNoZWRSZWNv
dmVyeSYgbG9jYXRpb24pCiAgICAgaWYgKHdhbnRlZFRhZ0dQUiAhPSBJbnZhbGlkR1BSUmVnKSB7
CiAgICAgICAgIEFTU0VSVCghbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHdhbnRlZFRhZ0dQUikpOwog
ICAgICAgICBpZiAoQ2FjaGVkUmVjb3ZlcnkqIGN1cnJlbnRUYWcgeyBtX3JlZ2lzdGVyc1t3YW50
ZWRUYWdHUFJdIH0pIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50VGFnID09ICZsb2NhdGlvbikg
ewotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAgICBkYXRh
TG9nKCIgICArICIsIHdhbnRlZFRhZ0dQUiwgIiBpcyBPS1xuIik7Ci0gICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIC8vIFRoaXMgY2FuIG5ldmVyIGhhcHBlbiBvbiAzMmJpdCBw
bGF0Zm9ybXMgc2luY2Ugd2UKLSAgICAgICAgICAgICAgICAvLyBoYXZlIGF0IG1vc3Qgb25lIHdh
bnRlZCBKU1ZhbHVlUmVncywgZm9yIHRoZQotICAgICAgICAgICAgICAgIC8vIGNhbGxlZSwgYW5k
IG5vIGNhbGxlZS1zYXZlIHJlZ2lzdGVycy4KLSAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlQoY3VycmVudFRhZyA9PSAmbG9jYXRpb24pOworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisg
ICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRUYWdHUFIsICIgaXMgT0tcbiIp
OwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKHdhbnRlZFBheWxvYWRHUFIgIT0gSW52YWxp
ZEdQUlJlZykgewogICAgICAgICBBU1NFUlQoIW1fbG9ja2VkUmVnaXN0ZXJzLmdldCh3YW50ZWRQ
YXlsb2FkR1BSKSk7CiAgICAgICAgIGlmIChDYWNoZWRSZWNvdmVyeSogY3VycmVudFBheWxvYWQg
eyBtX3JlZ2lzdGVyc1t3YW50ZWRQYXlsb2FkR1BSXSB9KSB7Ci0gICAgICAgICAgICBpZiAoY3Vy
cmVudFBheWxvYWQgPT0gJmxvY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZlcmJvc2Up
Ci0gICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2FudGVkUGF5bG9hZEdQUiwg
IiBpcyBPS1xuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIFNl
ZSBhYm92ZQotICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgICAgICAgICB9CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50UGF5bG9hZCA9
PSAmbG9jYXRpb24pOworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAg
ZGF0YUxvZygiICAgKyAiLCB3YW50ZWRQYXlsb2FkR1BSLCAiIGlzIE9LXG4iKTsKICAgICAgICAg
fQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZv
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAppbmRleCA1ZmY2MjQ3NDFh
YjcwZThjMDQzNWJkZjlkMjViMTkxNDYwMzgxZDllLi4yZjdjZjVhYmJiMzk5Y2E3NDQzZWFjODMy
MDMyZjZjMDczYjQyYmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQ
UkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaApAQCAtNTM4
LDcgKzUzOCw3IEBAIHB1YmxpYzoKIGNsYXNzIEdQUkluZm8gewogcHVibGljOgogICAgIHR5cGVk
ZWYgR1BSUmVnIFJlZ2lzdGVyVHlwZTsKLSAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51
bWJlck9mUmVnaXN0ZXJzID0gOTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJl
ck9mUmVnaXN0ZXJzID0gMTA7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJP
ZkFyZ3VtZW50UmVnaXN0ZXJzID0gTlVNQkVSX09GX0FSR1VNRU5UX1JFR0lTVEVSUzsKIAogICAg
IC8vIFRlbXBvcmFyeSByZWdpc3RlcnMuCkBAIC01NjcsNyArNTY3LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBHUFJSZWcgdG9SZWdpc3Rlcih1bnNpZ25lZCBpbmRleCkKICAgICB7CiAgICAgICAg
IEFTU0VSVChpbmRleCA8IG51bWJlck9mUmVnaXN0ZXJzKTsKLSAgICAgICAgc3RhdGljIGNvbnN0
IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9IHsgcmVnVDAsIHJl
Z1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3LCByZWdDUzEgfTsK
KyAgICAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251bWJlck9mUmVn
aXN0ZXJzXSA9IHsgcmVnVDAsIHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVn
VDYsIHJlZ1Q3LCByZWdDUzAsIHJlZ0NTMSB9OwogICAgICAgICByZXR1cm4gcmVnaXN0ZXJGb3JJ
bmRleFtpbmRleF07CiAgICAgfQogCkBAIC01ODMsNyArNTgzLDcgQEAgcHVibGljOgogICAgICAg
ICBBU1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwogICAgICAgICBBU1NFUlQoc3RhdGljX2Nh
c3Q8aW50PihyZWcpIDwgMTYpOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhG
b3JSZWdpc3RlclsxNl0gPQotICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA3LCA2LCBJbnZhbGlk
SW5kZXgsIEludmFsaWRJbmRleCwgNCwgNSwgOCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgs
IEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgICAg
IHsgMCwgMSwgMiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUsIDks
IDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRl
eCB9OwogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVyW3JlZ107CiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
Z2lzdGVyU2V0LmNwcAppbmRleCBjNTI5ZDc0YWZlYzhlYTg2NmMwODY0NjQ5NTRiZjc5YTEwOGIz
ZDkxLi42NDZjZDRmOTM1MmU3NDBlZWE5ZTYyNDYxM2RhMjY0MmRmY2I2YzAzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcApAQCAtMjU0LDYgKzI1NCw3IEBAIFJl
Z2lzdGVyU2V0IFJlZ2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKCkKICAgICByZXN1
bHQuc2V0KEdQUkluZm86OnJlZ0NTNik7CiAjZW5kaWYKICNlbGlmIENQVShBUk1fVEhVTUIyKQor
ICAgIHJlc3VsdC5zZXQoR1BSSW5mbzo6cmVnQ1MwKTsKICAgICByZXN1bHQuc2V0KEdQUkluZm86
OnJlZ0NTMSk7CiAjZWxpZiBDUFUoQVJNNjQpCiAgICAgc3RhdGljX2Fzc2VydChHUFJJbmZvOjpy
ZWdDUzggPT0gR1BSSW5mbzo6bnVtYmVyVGFnUmVnaXN0ZXIsICIiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20K
aW5kZXggNzg1MjRjZmYxOTY5OGRjODAwNTg2YmE5NGFjNDIyN2IxOGMzZjM3Zi4uZjMyNjRiNzI2
YTJiNzAyZWVjZjNjMTA5ZGQ4ZjNmYjFhNmUxOGY1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAgLTc5
LDggKzc5LDYgQEAgZW5kCiAjIEFmdGVyIGNhbGxpbmcsIGNhbGxpbmcgYnl0ZWNvZGUgaXMgY2xh
aW1pbmcgaW5wdXQgcmVnaXN0ZXJzIGFyZSBub3QgdXNlZC4KIG1hY3JvIGRpc3BhdGNoQWZ0ZXJD
YWxsKHNpemUsIG9wY29kZVN0cnVjdCwgdmFsdWVQcm9maWxlTmFtZSwgZHN0VmlydHVhbFJlZ2lz
dGVyLCBkaXNwYXRjaCkKICAgICBsb2FkaSBBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyArIFRh
Z09mZnNldFtjZnJdLCBQQwotICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBQQgotICAgIGxvYWRw
IENvZGVCbG9jazo6bV9pbnN0cnVjdGlvbnNSYXdQb2ludGVyW1BCXSwgUEIKICAgICBnZXQoc2l6
ZSwgb3Bjb2RlU3RydWN0LCBkc3RWaXJ0dWFsUmVnaXN0ZXIsIHQzKQogICAgIHN0b3JlaSByMSwg
VGFnT2Zmc2V0W2NmciwgdDMsIDhdCiAgICAgc3RvcmVpIHIwLCBQYXlsb2FkT2Zmc2V0W2Nmciwg
dDMsIDhdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439458</attachid>
            <date>2021-09-28 04:45:14 -0700</date>
            <delta_ts>2021-09-28 04:48:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20210928124513.patch</filename>
            <type>text/plain</type>
            <size>19817</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTdjZTQyZjhmZTdlYjNmNDc3ZjFmZTJkYjQzZTFkMTQwMmZkMmE2Li4xNGYzZGIxMWFhNTNkMjJk
NTU4ZTE3ODkyOTE0ZWUwNDczNWI2YWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0wOS0yOCAgR2V6YSBMb3JlICA8Z2V6YWxvcmVAZ21haWwuY29tPgor
CisgICAgICAgIEFsbG93IERGRyB0byB1c2UgcmVnQ1MwIEdQUiAoTExJbnQgbWV0YWRhdGFUYWJs
ZSkgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaW5jcmVhc2VzIHRoZSBhdmFpbGFibGUgcmVnaXN0ZXJzIG9uIEFSTXY3IHRvIDEw
LiBGb3IgdGhpcyB0bworICAgICAgICB3b3JrIHByb3Blcmx5IEkgbmVlZGVkIHRvIHRlYWNoIENh
bGxGcmFtZVNodWZmbGVyICh3aGljaCBpcyB1c2VkCisgICAgICAgIGZvciBzaHVmZmxpbmcgc3Rh
Y2sgZnJhbWVzIGZvciB0YWlsIGNhbGxzKSBob3cgdG8gcmVzdG9yZSBDU1JzIG9uCisgICAgICAg
IDMyLWJpdCBhcmNoaXRlY3R1cmVzLCB3aGljaCBub3cgd29ya3MgZm9yIGxpdHRsZSBlbmRpYW4g
Q1BVcy4KKworICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwOgorICAgICAgICAo
SlNDOjpWYWx1ZVJlY292ZXJ5OjpkdW1wSW5Db250ZXh0IGNvbnN0KToKKyAgICAgICAgKiBieXRl
Y29kZS9WYWx1ZVJlY292ZXJ5Lmg6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmNhbGxl
ZVNhdmVSZWdEaXNwbGFjZWRJbkpTU3RhY2spOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5
Ojppc0luSlNTdGFjayBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmRhdGFG
b3JtYXQgY29uc3QpOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojp3aXRoTG9jYWxzT2Zm
c2V0IGNvbnN0KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAgKiBq
aXQvQ2FjaGVkUmVjb3ZlcnkuY3BwOgorICAgICAgICAoSlNDOjpDYWNoZWRSZWNvdmVyeTo6bG9h
ZHNJbnRvR1BSIGNvbnN0KToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3Bw
OgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVn
aXN0ZXJzKToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaDoKKyAgICAgICAg
KiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVm
Zmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
ci5oOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6c25hcHNob3QgY29uc3QpOgor
ICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6YWRkTmV3KToKKyAgICAgICAgKiBqaXQv
Q2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZm
bGVyOjplbWl0TG9hZCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjplbWl0RGlz
cGxhY2UpOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChKU0M6OkdQUkluZm86
OnRvUmVnaXN0ZXIpOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAgICAgICAg
KiBqaXQvUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAoSlNDOjpSZWdpc3RlclNldDo6ZGZnQ2Fs
bGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMy
XzY0LmFzbToKKwogMjAyMS0wOS0yNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgogCiAgICAgICAgIFtXVEZdIEFkZCBBcHByb3hpbWF0ZVRpbWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAppbmRleCBlNDI0NWVhYmVjM2Uz
MjI0YTVkYTVmZjc1MjViNTVkYzljYTcwMTY2Li4wODk2MjNiNmY0ZGY4MzljNTY0YmFjMmJmNDYx
MGViNzdlNTczMzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
VmFsdWVSZWNvdmVyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Zh
bHVlUmVjb3ZlcnkuY3BwCkBAIC05OSw2ICs5OSwxMSBAQCB2b2lkIFZhbHVlUmVjb3Zlcnk6OmR1
bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mIG91dCwgRHVtcENvbnRleHQqIGNvbnRleHQpIGNvbnN0
CiAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgb3V0LnByaW50KCIq
aW50MzIoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJldHVybjsKKyNpZiBV
U0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2s6Cisg
ICAgICAgIG91dC5wcmludCgiKmludDMyVGFnKCIsIHZpcnR1YWxSZWdpc3RlcigpLCAiKSIpOwor
ICAgICAgICByZXR1cm47CisjZW5kaWYKICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5KU1N0YWNr
OgogICAgICAgICBvdXQucHJpbnQoIippbnQ1MigiLCB2aXJ0dWFsUmVnaXN0ZXIoKSwgIikiKTsK
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1ZhbHVlUmVjb3ZlcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1
ZVJlY292ZXJ5LmgKaW5kZXggNWU0M2JjNzJiYmNjNGZmOTdhNjhmODNkYTgzMDk0ZTU4ZGEzYjMx
NC4uMDgyMjRlZDdjYTViNThmMTVjZDllMWMwMzZiZmU1M2RmYjhhYzM5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBAIC02MCw2ICs2MCw5
IEBAIGVudW0gVmFsdWVSZWNvdmVyeVRlY2huaXF1ZSA6IHVpbnQ4X3QgewogICAgIERpc3BsYWNl
ZEluSlNTdGFjaywKICAgICAvLyBJdCdzIGluIHRoZSBzdGFjaywgYXQgYSBkaWZmZXJlbnQgbG9j
YXRpb24sIGFuZCBpdCdzIHVuYm94ZWQuCiAgICAgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2ssCisj
aWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjaywgLy8g
aW50MzIgc3RvcmVkIGluIHRhZyBmaWVsZAorI2VuZGlmCiAgICAgSW50NTJEaXNwbGFjZWRJbkpT
U3RhY2ssCiAgICAgU3RyaWN0SW50NTJEaXNwbGFjZWRJbkpTU3RhY2ssCiAgICAgRG91YmxlRGlz
cGxhY2VkSW5KU1N0YWNrLApAQCAtMTg3LDcgKzE5MCwxOSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
c3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQotICAgIAorCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBzdGF0aWMgVmFsdWVSZWNvdmVy
eSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFs
UmVnLCBib29sIGluVGFnKQorICAgIHsKKyAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7Cisg
ICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxSZWcgPSB2aXJ0dWFsUmVnLm9m
ZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOworICAgICAgICBy
ZXN1bHQubV90ZWNobmlxdWUgPSBpblRhZyA/IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrIDog
SW50MzJEaXNwbGFjZWRJbkpTU3RhY2s7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQor
I2VuZGlmCisKICAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjb25zdGFudChKU1ZhbHVlIHZhbHVl
KQogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CkBAIC0yNTgsNiArMjczLDkg
QEAgcHVibGljOgogICAgICAgICBzd2l0Y2ggKG1fdGVjaG5pcXVlKSB7CiAgICAgICAgIGNhc2Ug
RGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNr
OgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJ
bkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoK
ICAgICAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2Fz
ZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0yODIsNiArMzAwLDkgQEAgcHVibGljOgog
ICAgICAgICAgICAgcmV0dXJuIERhdGFGb3JtYXRKUzsKICAgICAgICAgY2FzZSBVbmJveGVkSW50
MzJJbkdQUjoKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNpZiBVU0Uo
SlNWQUxVRTMyXzY0KQorICAgICAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgor
I2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gRGF0YUZvcm1hdEludDMyOwogICAgICAgICBjYXNl
IFVuYm94ZWRJbnQ1MkluR1BSOgogICAgICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5KU1N0YWNr
OgpAQCAtMzU4LDYgKzM3OSw5IEBAIHB1YmxpYzoKICAgICAgICAgc3dpdGNoIChtX3RlY2huaXF1
ZSkgewogICAgICAgICBjYXNlIERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2FzZSBJbnQz
MkRpc3BsYWNlZEluSlNTdGFjazoKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBjYXNl
IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorI2VuZGlmCiAgICAgICAgIGNhc2UgRG91Ymxl
RGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIENlbGxEaXNwbGFjZWRJbkpTU3RhY2s6
CiAgICAgICAgIGNhc2UgQm9vbGVhbkRpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IGIy
ZTYyMzBkNWQ1NjE0NzkxNWRiYmQ1ZDE2NDIyZjM3YTBmMzk5ZTkuLjU1ZGEwNDE4ZTkzNjA2YzQx
Zjg0NDg4YTkxODBkMDdjMjNmNWU5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNzQyLDYgKzc0Miw4IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG51bVBhc3NlZEFyZ3M7IGkgPCBudW1BbGxvY2F0
ZWRBcmdzOyArK2kpCiAgICAgICAgICAgICAgICAgc2h1ZmZsZURhdGEuYXJnc1tpXSA9IFZhbHVl
UmVjb3Zlcnk6OmNvbnN0YW50KGpzVW5kZWZpbmVkKCkpOworCisgICAgICAgICAgICBzaHVmZmxl
RGF0YS5zZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMobV9qaXQuY29kZUJsb2NrKCkpOwogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbTMyKG51bVBhc3NlZEFyZ3MpLCBtX2ppdC5jYWxsZWVGcmFtZVBheWxvYWRTbG90KENh
bGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKSk7CiAgICAgICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAppbmRleCBmNGFhY2M2
YzgwZWU1NTA5MDg0Nzc4NTM2ZWM3YjA4NmMxODgyMzAzLi4wMGU3MWY0ODdkYjMyYThjZGQxNmU1
NjIwMjMzMWM1MWZiOTFlMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NhY2hlZFJlY292ZXJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhY2hl
ZFJlY292ZXJ5LmNwcApAQCAtNTIsNyArNTIsOSBAQCBib29sIENhY2hlZFJlY292ZXJ5Ojpsb2Fk
c0ludG9HUFIoKSBjb25zdAogewogICAgIHN3aXRjaCAocmVjb3ZlcnkoKS50ZWNobmlxdWUoKSkg
ewogICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6Ci0jaWYgVVNFKEpTVkFMVUU2NCkK
KyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3Rh
Y2s6CisjZWxpZiBVU0UoSlNWQUxVRTY0KQogICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3Rh
Y2s6CiAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICBjYXNlIERp
c3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxs
RnJhbWVTaHVmZmxlRGF0YS5jcHAKaW5kZXggMzJkNmU0YzBiMzZiZmQ2MWQxNTA1MmY4NWExMmNh
ZWNlM2JiYjU1Mi4uY2YxNWNlMTk5ZWQzNzZhZjE1MGU4ODdmM2VlZDAyZmExNWRjN2IyYSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5j
cHAKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBVU0UoSlNWQUxV
RTY0KQotCiB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVSZWdpc3Rl
cnMoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7CiAgICAgc2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJz
KGNvZGVCbG9jay0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKQEAgLTQ5LDkgKzQ3LDI0IEBAIHZv
aWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhjb25zdCBS
ZWdpc3RlckF0T2Zmc2V0TGlzdCoKICAgICAgICAgaWYgKCFjYWxsZWVTYXZlUmVnaXN0ZXJzLmdl
dChlbnRyeS5yZWcoKSkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBWaXJ0dWFs
UmVnaXN0ZXIgc2F2ZVNsb3QgeyBlbnRyeS5vZmZzZXRBc0luZGV4KCkgfTsKKyAgICAgICAgaW50
IHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyA9IGVudHJ5Lm9mZnNldEFzSW5kZXgoKTsKKwor
I2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIC8vIENQVSByZWdpc3RlcnMgYXJlIHRoZSBzYW1l
IHNpemUgYXMgdmlydHVhbCByZWdpc3RlcnMKKyAgICAgICAgVmlydHVhbFJlZ2lzdGVyIHNhdmVT
bG90IHsgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIH07CiAgICAgICAgIHJlZ2lzdGVyc1tl
bnRyeS5yZWcoKV0KICAgICAgICAgICAgID0gVmFsdWVSZWNvdmVyeTo6ZGlzcGxhY2VkSW5KU1N0
YWNrKHNhdmVTbG90LCBEYXRhRm9ybWF0SlMpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAg
ICAgICAgLy8gT24gMzItYml0IGFyY2hpdGVjdHVyZXMsIDIgY2FsbGVlIHNhdmVkIHJlZ2lzdGVy
cyBtYXkgYmUgcGFja2VkIGludG8gdGhlIHNhbWUgc2xvdAorICAgICAgICBzdGF0aWNfYXNzZXJ0
KCFQYXlsb2FkT2Zmc2V0IHx8ICFUYWdPZmZzZXQpOworICAgICAgICBzdGF0aWNfYXNzZXJ0KFBh
eWxvYWRPZmZzZXQgPT0gNCB8fCBUYWdPZmZzZXQgPT0gNCk7CisgICAgICAgIGJvb2wgaW5UYWcg
PSAoc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzICYgMSkgPT0gISFUYWdPZmZzZXQ7CisgICAg
ICAgIGlmIChzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgPCAwKQorICAgICAgICAgICAgc2F2
ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIC09IDE7IC8vIFJvdW5kIHRvd2FyZHMgLWluZgorICAg
ICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3Rl
cnMgLyAyIH07CisgICAgICAgIHJlZ2lzdGVyc1tlbnRyeS5yZWcoKV0KKyAgICAgICAgICAgID0g
VmFsdWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayhzYXZlU2xvdCwg
aW5UYWcpOworI2VuZGlmCiAgICAgfQogCiAgICAgZm9yIChSZWcgcmVnID0gUmVnOjpmaXJzdCgp
OyByZWcgPD0gUmVnOjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0KCkpIHsKQEAgLTYxLDEyICs3NCwx
NCBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMo
Y29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqCiAgICAgICAgIGlmIChyZWdpc3RlcnNbcmVnXSkK
ICAgICAgICAgICAgIGNvbnRpbnVlOwogCisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAgICAgcmVn
aXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjppblJlZ2lzdGVyKHJlZywgRGF0YUZvcm1hdEpT
KTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIHJlZ2lzdGVyc1tyZWddID0gVmFs
dWVSZWNvdmVyeTo6aW5SZWdpc3RlcihyZWcsIERhdGFGb3JtYXRJbnQzMik7CisjZW5kaWYKICAg
ICB9CiB9CiAKLSNlbmRpZiAvLyBVU0UoSlNWQUxVRTY0KQotCiB9IC8vIG5hbWVzcGFjZSBKU0MK
IAogI2VuZGlmIC8vIEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKaW5kZXggYzZiNzBmMDVkMTA5YjE4NWY0ZDEyYmM3MDlm
OGY3NjdjYmJmMWYzNy4uMzM2NTdlMzNhNjRmMzc4MWY0MzA5OThjMTMzMzcxYTFhYTY0Yjc1YSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0
YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEu
aApAQCAtNDQsMTMgKzQ0LDEzIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBudW1Mb2NhbHMgeyBV
SU5UX01BWCB9OwogICAgIHVuc2lnbmVkIG51bVBhc3NlZEFyZ3MgeyBVSU5UX01BWCB9OwogICAg
IHVuc2lnbmVkIG51bVBhcmFtZXRlcnMgeyBVSU5UX01BWCB9OyAvLyBPbiBvdXIgbWFjaGluZSBm
cmFtZS4KLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgIFJlZ2lzdGVyTWFwPFZhbHVlUmVjb3Zlcnk+
IHJlZ2lzdGVyczsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIEdQUlJlZyBudW1iZXJUYWdSZWdp
c3RlciB7IEludmFsaWRHUFJSZWcgfTsKKyNlbmRpZgogCiAgICAgdm9pZCBzZXR1cENhbGxlZVNh
dmVSZWdpc3RlcnMoQ29kZUJsb2NrKik7CiAgICAgdm9pZCBzZXR1cENhbGxlZVNhdmVSZWdpc3Rl
cnMoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqKTsKLSNlbmRpZgogICAgIFZhbHVlUmVjb3Zl
cnkgY2FsbGVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9D
YWxsRnJhbWVTaHVmZmxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFt
ZVNodWZmbGVyLmNwcAppbmRleCAzYjUzNzRkYTE2NmZmNzE5OWY1ZmFlNDU1YWE2NjYzZWJkZWU1
M2Q1Li45MzBhYmEyMTI2MDNkYzZiYTM3ZjQ5ZTkyMDliM2Q5YzJhNWJkZDNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcApAQCAtNTIsMTMg
KzUyLDggQEAgQ2FsbEZyYW1lU2h1ZmZsZXI6OkNhbGxGcmFtZVNodWZmbGVyKENDYWxsSGVscGVy
cyYgaml0LCBjb25zdCBDYWxsRnJhbWVTaHVmZmxlRGEKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBG
UFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVyczsgaS0tOyApCiAgICAgICAgIG1fbG9ja2VkUmVnaXN0
ZXJzLmNsZWFyKEZQUkluZm86OnRvUmVnaXN0ZXIoaSkpOwogCi0jaWYgVVNFKEpTVkFMVUU2NCkK
LSAgICAvLyAuLi4gYXMgd2VsbCBhcyB0aGUgcnVudGltZSByZWdpc3RlcnMgb24gNjQtYml0IGFy
Y2hpdGVjdHVyZXMuCi0gICAgLy8gSG93ZXZlciBkbyBub3QgdXNlIHRoZXNlIHJlZ2lzdGVycyBv
biAzMi1iaXQgYXJjaGl0ZWN0dXJlcyBzaW5jZQotICAgIC8vIHNhdmluZyBhbmQgcmVzdG9yaW5n
IGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgaW4gQ2FsbEZyYW1lU2h1ZmZsZXIgaXNuJ3Qgc3VwcG9y
dGVkCi0gICAgLy8gb24gMzItYml0IGFyY2hpdGVjdHVyZXMgeWV0LgorICAgIC8vIC4uLiBhcyB3
ZWxsIGFzIHRoZSBjYWxsZWUgc2F2ZWQgcmVnaXN0ZXJzCiAgICAgbV9sb2NrZWRSZWdpc3RlcnMu
ZXhjbHVkZShSZWdpc3RlclNldDo6dm1DYWxsZWVTYXZlUmVnaXN0ZXJzKCkpOwotI2VuZGlmCiAK
ICAgICBBU1NFUlQoIWRhdGEuY2FsbGVlLmlzSW5KU1N0YWNrKCkgfHwgZGF0YS5jYWxsZWUudmly
dHVhbFJlZ2lzdGVyKCkuaXNMb2NhbCgpKTsKICAgICBhZGROZXcoQ2FsbEZyYW1lU2xvdDo6Y2Fs
bGVlLCBkYXRhLmNhbGxlZSk7CkBAIC02OCwxNyArNjMsMjEgQEAgQ2FsbEZyYW1lU2h1ZmZsZXI6
OkNhbGxGcmFtZVNodWZmbGVyKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBDYWxsRnJhbWVTaHVm
ZmxlRGEKICAgICAgICAgYWRkTmV3KHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50SW5jbHVkaW5n
VGhpcyhpKSwgZGF0YS5hcmdzW2ldKTsKICAgICB9CiAKLSNpZiBVU0UoSlNWQUxVRTY0KQogICAg
IGZvciAoUmVnIHJlZyA9IFJlZzo6Zmlyc3QoKTsgcmVnIDw9IFJlZzo6bGFzdCgpOyByZWcgPSBy
ZWcubmV4dCgpKSB7CiAgICAgICAgIGlmICghZGF0YS5yZWdpc3RlcnNbcmVnXS5pc1NldCgpKQog
ICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKHJlZy5pc0dQUigpKQorICAgICAg
ICBpZiAocmVnLmlzR1BSKCkpIHsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAgICAgYWRk
TmV3KEpTVmFsdWVSZWdzKHJlZy5ncHIoKSksIGRhdGEucmVnaXN0ZXJzW3JlZ10pOwotICAgICAg
ICBlbHNlCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgYWRkTmV3KHJlZy5n
cHIoKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7CisjZW5kaWYKKyAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICBhZGROZXcocmVnLmZwcigpLCBkYXRhLnJlZ2lzdGVyc1tyZWddKTsKICAgICB9CiAK
KyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1fbnVtYmVyVGFnUmVnaXN0ZXIgPSBkYXRhLm51bWJl
clRhZ1JlZ2lzdGVyOwogICAgIGlmIChtX251bWJlclRhZ1JlZ2lzdGVyICE9IEludmFsaWRHUFJS
ZWcpCiAgICAgICAgIGxvY2tHUFIobV9udW1iZXJUYWdSZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKaW5kZXggZTA0OGE0ZGNhNjY2NTY5
OTFhMDQzYWU5NGI4MDBiYjExNDE2MGIwYy4uYTE3NjI0NGUxZTMwOTU2Njc3MzQ2MGFkMjA2NTBl
MTliYzNkYWQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJh
bWVTaHVmZmxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1
ZmZsZXIuaApAQCAtMTE2LDYgKzExNiwxNSBAQCBwdWJsaWM6CiAKICNpZiBVU0UoSlNWQUxVRTY0
KQogICAgICAgICAgICAgZGF0YS5yZWdpc3RlcnNbcmVnXSA9IGNhY2hlZFJlY292ZXJ5LT5yZWNv
dmVyeSgpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgICAgIFZhbHVlUmVjb3Zl
cnkgcmVjb3ZlcnkgPSBjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKTsKKyAgICAgICAgICAgIGlm
IChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBEaXNwbGFjZWRJbkpTU3RhY2spIHsKKyAgICAgICAg
ICAgICAgICBKU1ZhbHVlUmVncyB3YW50ZWRKU1ZhbHVlUmVnID0gY2FjaGVkUmVjb3ZlcnktPndh
bnRlZEpTVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHJlZyA9PSB3YW50ZWRK
U1ZhbHVlUmVnLnBheWxvYWRHUFIoKSB8fCByZWcgPT0gd2FudGVkSlNWYWx1ZVJlZy50YWdHUFIo
KSk7CisgICAgICAgICAgICAgICAgYm9vbCBpblRhZyA9IHJlZyA9PSB3YW50ZWRKU1ZhbHVlUmVn
LnRhZ0dQUigpOworICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSBWYWx1ZVJl
Y292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKHJlY292ZXJ5LnZpcnR1YWxS
ZWdpc3RlcigpLCBpblRhZyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBk
YXRhLnJlZ2lzdGVyc1tyZWddID0gcmVjb3Zlcnk7CiAjZWxzZQogICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgpAQCAtNjYzLDYgKzY3MiwzMiBAQCBwcml2
YXRlOgogICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3MoanNWYWx1
ZVJlZ3MpOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgdm9pZCBhZGROZXco
R1BSUmVnIGdwciwgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSkKKyAgICB7CisgICAgICAgIEFTU0VS
VChncHIgIT0gSW52YWxpZEdQUlJlZyAmJiAhbV9uZXdSZWdpc3RlcnNbZ3ByXSk7CisgICAgICAg
IEFTU0VSVChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjawor
ICAgICAgICAgICAgfHwgcmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJUYWdEaXNwbGFjZWRJ
bkpTU3RhY2spOworICAgICAgICBDYWNoZWRSZWNvdmVyeSogY2FjaGVkUmVjb3ZlcnkgPSBhZGRD
YWNoZWRSZWNvdmVyeShyZWNvdmVyeSk7CisgICAgICAgIGlmIChKU1ZhbHVlUmVncyBvbGRSZWdz
IHsgY2FjaGVkUmVjb3ZlcnktPndhbnRlZEpTVmFsdWVSZWdzKCkgfSkgeworICAgICAgICAgICAg
Ly8gQ29tYmluZSB3aXRoIHRoZSBvdGhlciBDU1IgaW4gdGhlIHNhbWUgdmlydHVhbCByZWdpc3Rl
ciBzbG90CisgICAgICAgICAgICBBU1NFUlQob2xkUmVncy50YWdHUFIoKSA9PSBJbnZhbGlkR1BS
UmVnKTsKKyAgICAgICAgICAgIEFTU0VSVChvbGRSZWdzLnBheWxvYWRHUFIoKSAhPSBJbnZhbGlk
R1BSUmVnICYmIG9sZFJlZ3MucGF5bG9hZEdQUigpICE9IGdwcik7CisgICAgICAgICAgICBpZiAo
cmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJEaXNwbGFjZWRJbkpTU3RhY2spIHsKKyAgICAg
ICAgICAgICAgICBBU1NFUlQoY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCkudGVjaG5pcXVlKCkg
PT0gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2spOworICAgICAgICAgICAgICAgIGNhY2hlZFJl
Y292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVncyhvbGRSZWdzLnBheWxvYWRH
UFIoKSwgZ3ByKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIEFTU0VS
VChjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMkRpc3BsYWNl
ZEluSlNTdGFjayk7CisgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpT
VmFsdWVSZWdzKEpTVmFsdWVSZWdzKGdwciwgb2xkUmVncy5wYXlsb2FkR1BSKCkpKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRSZWNvdmVyeSgKKyAgICAg
ICAgICAgICAgICBWYWx1ZVJlY292ZXJ5OjpkaXNwbGFjZWRJbkpTU3RhY2socmVjb3Zlcnkudmly
dHVhbFJlZ2lzdGVyKCksIERhdGFGb3JtYXRKUykpOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVnczo6cGF5
bG9hZE9ubHkoZ3ByKSk7CisgICAgICAgIG1fbmV3UmVnaXN0ZXJzW2dwcl0gPSBjYWNoZWRSZWNv
dmVyeTsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQgYWRkTmV3KEZQUlJlZyBmcHIsIFZhbHVl
UmVjb3ZlcnkgcmVjb3ZlcnkpCiAgICAgewogICAgICAgICBBU1NFUlQoZnByICE9IEludmFsaWRG
UFJSZWcgJiYgIW1fbmV3UmVnaXN0ZXJzW2Zwcl0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKaW5kZXggNWRmZTk2ZTgxZWM5
ZjZmYTlmNzdhMGQ2NTE1NjcyNTNiMTZlNzYwOS4uMmZlZjUzZGE2MGEyZTc1YTQ3YzY0ZjhkMzA0
MGM0NjIyMmJiODhlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxs
RnJhbWVTaHVmZmxlcjMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Nh
bGxGcmFtZVNodWZmbGVyMzJfNjQuY3BwCkBAIC0xMjQsOCArMTI0LDExIEBAIHZvaWQgQ2FsbEZy
YW1lU2h1ZmZsZXI6OmVtaXRMb2FkKENhY2hlZFJlY292ZXJ5JiBsb2NhdGlvbikKICAgICAgICAg
aWYgKHJlc3VsdEdQUiA9PSBJbnZhbGlkR1BSUmVnIHx8IG1fcmVnaXN0ZXJzW3Jlc3VsdEdQUl0g
fHwgbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHJlc3VsdEdQUikpCiAgICAgICAgICAgICByZXN1bHRH
UFIgPSBnZXRGcmVlR1BSKCk7CiAgICAgICAgIEFTU0VSVChyZXN1bHRHUFIgIT0gSW52YWxpZEdQ
UlJlZyk7Ci0gICAgICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRoT2Zmc2V0KFBheWxvYWRP
ZmZzZXQpLCByZXN1bHRHUFIpOwotICAgICAgICB1cGRhdGVSZWNvdmVyeShsb2NhdGlvbiwgCisg
ICAgICAgIGlmIChsb2NhdGlvbi5yZWNvdmVyeSgpLnRlY2huaXF1ZSgpID09IEludDMyVGFnRGlz
cGxhY2VkSW5KU1N0YWNrKQorICAgICAgICAgICAgbV9qaXQubG9hZFB0cihhZGRyZXNzLndpdGhP
ZmZzZXQoVGFnT2Zmc2V0KSwgcmVzdWx0R1BSKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
bV9qaXQubG9hZFB0cihhZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJlc3VsdEdQ
Uik7CisgICAgICAgIHVwZGF0ZVJlY292ZXJ5KGxvY2F0aW9uLAogICAgICAgICAgICAgVmFsdWVS
ZWNvdmVyeTo6aW5HUFIocmVzdWx0R1BSLCBsb2NhdGlvbi5yZWNvdmVyeSgpLmRhdGFGb3JtYXQo
KSkpOwogICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2cobG9jYXRpb24u
cmVjb3ZlcnkoKSwgIlxuIik7CkBAIC0xOTAsMjggKzE5MywxOCBAQCB2b2lkIENhbGxGcmFtZVNo
dWZmbGVyOjplbWl0RGlzcGxhY2UoQ2FjaGVkUmVjb3ZlcnkmIGxvY2F0aW9uKQogICAgIGlmICh3
YW50ZWRUYWdHUFIgIT0gSW52YWxpZEdQUlJlZykgewogICAgICAgICBBU1NFUlQoIW1fbG9ja2Vk
UmVnaXN0ZXJzLmdldCh3YW50ZWRUYWdHUFIpKTsKICAgICAgICAgaWYgKENhY2hlZFJlY292ZXJ5
KiBjdXJyZW50VGFnIHsgbV9yZWdpc3RlcnNbd2FudGVkVGFnR1BSXSB9KSB7Ci0gICAgICAgICAg
ICBpZiAoY3VycmVudFRhZyA9PSAmbG9jYXRpb24pIHsKLSAgICAgICAgICAgICAgICBpZiAodmVy
Ym9zZSkKLSAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRUYWdHUFIs
ICIgaXMgT0tcbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBU
aGlzIGNhbiBuZXZlciBoYXBwZW4gb24gMzJiaXQgcGxhdGZvcm1zIHNpbmNlIHdlCi0gICAgICAg
ICAgICAgICAgLy8gaGF2ZSBhdCBtb3N0IG9uZSB3YW50ZWQgSlNWYWx1ZVJlZ3MsIGZvciB0aGUK
LSAgICAgICAgICAgICAgICAvLyBjYWxsZWUsIGFuZCBubyBjYWxsZWUtc2F2ZSByZWdpc3RlcnMu
Ci0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnRUYWcgPT0gJmxvY2F0aW9u
KTsKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFMb2coIiAg
ICsgIiwgd2FudGVkVGFnR1BSLCAiIGlzIE9LXG4iKTsKICAgICAgICAgfQogICAgIH0KIAogICAg
IGlmICh3YW50ZWRQYXlsb2FkR1BSICE9IEludmFsaWRHUFJSZWcpIHsKICAgICAgICAgQVNTRVJU
KCFtX2xvY2tlZFJlZ2lzdGVycy5nZXQod2FudGVkUGF5bG9hZEdQUikpOwogICAgICAgICBpZiAo
Q2FjaGVkUmVjb3ZlcnkqIGN1cnJlbnRQYXlsb2FkIHsgbV9yZWdpc3RlcnNbd2FudGVkUGF5bG9h
ZEdQUl0gfSkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnRQYXlsb2FkID09ICZsb2NhdGlvbikg
ewotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAgICBkYXRh
TG9nKCIgICArICIsIHdhbnRlZFBheWxvYWRHUFIsICIgaXMgT0tcbiIpOwotICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBTZWUgYWJvdmUKLSAgICAgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoY3VycmVudFBheWxvYWQgPT0gJmxvY2F0aW9uKTsKKyAgICAgICAgICAg
IGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2FudGVkUGF5
bG9hZEdQUiwgIiBpcyBPS1xuIik7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9HUFJJbmZvLmgKaW5kZXggNWZmNjI0NzQxYWI3MGU4YzA0MzViZGY5ZDI1YjE5MTQ2MDM4
MWQ5ZS4uMmY3Y2Y1YWJiYjM5OWNhNzQ0M2VhYzgzMjAzMmY2YzA3M2I0MmJjOSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAgLTUzOCw3ICs1MzgsNyBAQCBwdWJsaWM6CiBjbGFz
cyBHUFJJbmZvIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEdQUlJlZyBSZWdpc3RlclR5cGU7Ci0g
ICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDk7CisgICAg
c3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDEwOwogICAgIHN0
YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZBcmd1bWVudFJlZ2lzdGVycyA9IE5VTUJF
Ul9PRl9BUkdVTUVOVF9SRUdJU1RFUlM7CiAKICAgICAvLyBUZW1wb3JhcnkgcmVnaXN0ZXJzLgpA
QCAtNTY3LDcgKzU2Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgR1BSUmVnIHRvUmVnaXN0ZXIo
dW5zaWduZWQgaW5kZXgpCiAgICAgewogICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1iZXJPZlJl
Z2lzdGVycyk7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRleFtu
dW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdUNCwg
cmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MxIH07CisgICAgICAgIHN0YXRpYyBjb25zdCBHUFJS
ZWcgcmVnaXN0ZXJGb3JJbmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwg
cmVnVDIsIHJlZ1QzLCByZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MwLCByZWdDUzEg
fTsKICAgICAgICAgcmV0dXJuIHJlZ2lzdGVyRm9ySW5kZXhbaW5kZXhdOwogICAgIH0KIApAQCAt
NTgzLDcgKzU4Myw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZhbGlkR1BS
UmVnKTsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8IDE2KTsKICAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0KLSAgICAgICAg
ICAgIHsgMCwgMSwgMiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUs
IDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRl
eCwgSW52YWxpZEluZGV4IH07CisgICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYsIEludmFs
aWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKICAgICAgICAgdW5zaWduZWQgcmVz
dWx0ID0gaW5kZXhGb3JSZWdpc3RlcltyZWddOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKaW5kZXggYzUyOWQ3
NGFmZWM4ZWE4NjZjMDg2NDY0OTU0YmY3OWExMDhiM2Q5MS4uNjQ2Y2Q0ZjkzNTJlNzQwZWVhOWU2
MjQ2MTNkYTI2NDJkZmNiNmMwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3RlclNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3Rl
clNldC5jcHAKQEAgLTI1NCw2ICsyNTQsNyBAQCBSZWdpc3RlclNldCBSZWdpc3RlclNldDo6ZGZn
Q2FsbGVlU2F2ZVJlZ2lzdGVycygpCiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdDUzYpOwog
I2VuZGlmCiAjZWxpZiBDUFUoQVJNX1RIVU1CMikKKyAgICByZXN1bHQuc2V0KEdQUkluZm86OnJl
Z0NTMCk7CiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdDUzEpOwogI2VsaWYgQ1BVKEFSTTY0
KQogICAgIHN0YXRpY19hc3NlcnQoR1BSSW5mbzo6cmVnQ1M4ID09IEdQUkluZm86Om51bWJlclRh
Z1JlZ2lzdGVyLCAiIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCmluZGV4IDU4MDZhOWVhNmU3MTQ5N2ZlZjUx
MGNjYzAxZTNkOGQ0YjcyMDJjOTEuLmRkOWFhM2ZhNWM0NzI0Y2I4YzY0OTg0ZDk3ZTQ3NDMwZGZi
ZjA3ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyMzJfNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtCkBAIC03OSw4ICs3OSw2IEBAIGVuZAogIyBBZnRlciBj
YWxsaW5nLCBjYWxsaW5nIGJ5dGVjb2RlIGlzIGNsYWltaW5nIGlucHV0IHJlZ2lzdGVycyBhcmUg
bm90IHVzZWQuCiBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbChzaXplLCBvcGNvZGVTdHJ1Y3QsIHZh
bHVlUHJvZmlsZU5hbWUsIGRzdFZpcnR1YWxSZWdpc3RlciwgZGlzcGF0Y2gpCiAgICAgbG9hZGkg
QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKLSAgICBsb2Fk
cCBDb2RlQmxvY2tbY2ZyXSwgUEIKLSAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25z
UmF3UG9pbnRlcltQQl0sIFBCCiAgICAgZ2V0KHNpemUsIG9wY29kZVN0cnVjdCwgZHN0VmlydHVh
bFJlZ2lzdGVyLCB0MykKICAgICBzdG9yZWkgcjEsIFRhZ09mZnNldFtjZnIsIHQzLCA4XQogICAg
IHN0b3JlaSByMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439459</attachid>
            <date>2021-09-28 04:48:35 -0700</date>
            <delta_ts>2021-10-05 14:02:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20210928124834.patch</filename>
            <type>text/plain</type>
            <size>19777</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTdjZTQyZjhmZTdlYjNmNDc3ZjFmZTJkYjQzZTFkMTQwMmZkMmE2Li45MjE5OTgzMjkzY2ViODQw
ODUyMjY4YjMzZThlYmZmNDg4NWE1ZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0wOS0yOCAgR2V6YSBMb3JlICA8Z2V6YWxvcmVAZ21haWwuY29tPgor
CisgICAgICAgIEFsbG93IERGRyB0byB1c2UgcmVnQ1MwIEdQUiAoTExJbnQgbWV0YWRhdGFUYWJs
ZSkgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaW5jcmVhc2VzIHRoZSBhdmFpbGFibGUgcmVnaXN0ZXJzIG9uIEFSTXY3IHRvIDEw
LiBGb3IgdGhpcyB0bworICAgICAgICB3b3JrIHByb3Blcmx5IEkgbmVlZGVkIHRvIHRlYWNoIENh
bGxGcmFtZVNodWZmbGVyICh3aGljaCBpcyB1c2VkCisgICAgICAgIGZvciBzaHVmZmxpbmcgc3Rh
Y2sgZnJhbWVzIGZvciB0YWlsIGNhbGxzKSBob3cgdG8gcmVzdG9yZSBDU1JzIG9uCisgICAgICAg
IDMyLWJpdCBhcmNoaXRlY3R1cmVzLgorCisgICAgICAgICogYnl0ZWNvZGUvVmFsdWVSZWNvdmVy
eS5jcHA6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmR1bXBJbkNvbnRleHQgY29uc3Qp
OgorICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaDoKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayk6CisgICAgICAgIChK
U0M6OlZhbHVlUmVjb3Zlcnk6OmlzSW5KU1N0YWNrIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6ZGF0YUZvcm1hdCBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zl
cnk6OndpdGhMb2NhbHNPZmZzZXQgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENh
bGwpOgorICAgICAgICAqIGppdC9DYWNoZWRSZWNvdmVyeS5jcHA6CisgICAgICAgIChKU0M6OkNh
Y2hlZFJlY292ZXJ5Ojpsb2Fkc0ludG9HUFIgY29uc3QpOgorICAgICAgICAqIGppdC9DYWxsRnJh
bWVTaHVmZmxlRGF0YS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVEYXRhOjpz
ZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5oOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHA6CisgICAgICAgIChK
U0M6OkNhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVmZmxlcik6CisgICAgICAgICogaml0
L0NhbGxGcmFtZVNodWZmbGVyLmg6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjpz
bmFwc2hvdCBjb25zdCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjphZGROZXcp
OgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKToKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1l
U2h1ZmZsZXI6OmVtaXREaXNwbGFjZSk6CisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAgICAg
ICAgKEpTQzo6R1BSSW5mbzo6dG9SZWdpc3Rlcik6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRv
SW5kZXgpOgorICAgICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgIChKU0M6OlJl
Z2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKToKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorCiAyMDIxLTA5LTI3ICBZdXN1a2UgU3V6dWtpICA8
eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dURl0gQWRkIEFwcHJveGltYXRlVGltZQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3Zlcnku
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwCmlu
ZGV4IGU0MjQ1ZWFiZWMzZTMyMjRhNWRhNWZmNzUyNWI1NWRjOWNhNzAxNjYuLjA4OTYyM2I2ZjRk
ZjgzOWM1NjRiYWMyYmY0NjEwZWI3N2U1NzMzMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKQEAgLTk5LDYgKzk5LDExIEBAIHZvaWQg
VmFsdWVSZWNvdmVyeTo6ZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYgb3V0LCBEdW1wQ29udGV4
dCogY29udGV4dCkgY29uc3QKICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAg
ICAgICBvdXQucHJpbnQoIippbnQzMigiLCB2aXJ0dWFsUmVnaXN0ZXIoKSwgIikiKTsKICAgICAg
ICAgcmV0dXJuOworI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgY2FzZSBJbnQzMlRhZ0Rpc3Bs
YWNlZEluSlNTdGFjazoKKyAgICAgICAgb3V0LnByaW50KCIqaW50MzJUYWcoIiwgdmlydHVhbFJl
Z2lzdGVyKCksICIpIik7CisgICAgICAgIHJldHVybjsKKyNlbmRpZgogICAgIGNhc2UgSW50NTJE
aXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIG91dC5wcmludCgiKmludDUyKCIsIHZpcnR1YWxS
ZWdpc3RlcigpLCAiKSIpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAppbmRleCA1ZTQzYmM3MmJiY2M0ZmY5N2E2OGY4
M2RhODMwOTRlNThkYTNiMzE0Li4wODIyNGVkN2NhNWI1OGYxNWNkOWUxYzAzNmJmZTUzZGZiOGFj
MzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNv
dmVyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5
LmgKQEAgLTYwLDYgKzYwLDkgQEAgZW51bSBWYWx1ZVJlY292ZXJ5VGVjaG5pcXVlIDogdWludDhf
dCB7CiAgICAgRGlzcGxhY2VkSW5KU1N0YWNrLAogICAgIC8vIEl0J3MgaW4gdGhlIHN0YWNrLCBh
dCBhIGRpZmZlcmVudCBsb2NhdGlvbiwgYW5kIGl0J3MgdW5ib3hlZC4KICAgICBJbnQzMkRpc3Bs
YWNlZEluSlNTdGFjaywKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIEludDMyVGFnRGlzcGxh
Y2VkSW5KU1N0YWNrLCAvLyBpbnQzMiBzdG9yZWQgaW4gdGFnIGZpZWxkCisjZW5kaWYKICAgICBJ
bnQ1MkRpc3BsYWNlZEluSlNTdGFjaywKICAgICBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFj
aywKICAgICBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2ssCkBAIC0xODcsNyArMTkwLDE5IEBAIHB1
YmxpYzoKICAgICAgICAgcmVzdWx0Lm1fc291cmNlID0gV1RGTW92ZSh1KTsKICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIHN0
YXRpYyBWYWx1ZVJlY292ZXJ5IGNhbGxlZVNhdmVSZWdEaXNwbGFjZWRJbkpTU3RhY2soVmlydHVh
bFJlZ2lzdGVyIHZpcnR1YWxSZWcsIGJvb2wgaW5UYWcpCisgICAgeworICAgICAgICBWYWx1ZVJl
Y292ZXJ5IHJlc3VsdDsKKyAgICAgICAgVW5pb25UeXBlIHU7CisgICAgICAgIHUudmlydHVhbFJl
ZyA9IHZpcnR1YWxSZWcub2Zmc2V0KCk7CisgICAgICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1v
dmUodSk7CisgICAgICAgIHJlc3VsdC5tX3RlY2huaXF1ZSA9IGluVGFnID8gSW50MzJUYWdEaXNw
bGFjZWRJbkpTU3RhY2sgOiBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazsKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAgIHN0YXRpYyBWYWx1ZVJlY292ZXJ5IGNvbnN0
YW50KEpTVmFsdWUgdmFsdWUpCiAgICAgewogICAgICAgICBWYWx1ZVJlY292ZXJ5IHJlc3VsdDsK
QEAgLTI1OCw2ICsyNzMsOSBAQCBwdWJsaWM6CiAgICAgICAgIHN3aXRjaCAobV90ZWNobmlxdWUp
IHsKICAgICAgICAgY2FzZSBEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIGNhc2UgSW50MzJE
aXNwbGFjZWRJbkpTU3RhY2s6CisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgY2FzZSBJ
bnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyNlbmRpZgogICAgICAgICBjYXNlIEludDUyRGlz
cGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIFN0cmljdEludDUyRGlzcGxhY2VkSW5KU1N0
YWNrOgogICAgICAgICBjYXNlIERvdWJsZURpc3BsYWNlZEluSlNTdGFjazoKQEAgLTI4Miw2ICsz
MDAsOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gRGF0YUZvcm1hdEpTOwogICAgICAg
ICBjYXNlIFVuYm94ZWRJbnQzMkluR1BSOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5K
U1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdEaXNw
bGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiBEYXRhRm9ybWF0SW50
MzI7CiAgICAgICAgIGNhc2UgVW5ib3hlZEludDUySW5HUFI6CiAgICAgICAgIGNhc2UgSW50NTJE
aXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0zNTgsNiArMzc5LDkgQEAgcHVibGljOgogICAgICAgICBz
d2l0Y2ggKG1fdGVjaG5pcXVlKSB7CiAgICAgICAgIGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgog
ICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJf
NjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAg
ICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIGNhc2UgQ2VsbERp
c3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2FzZSBCb29sZWFuRGlzcGxhY2VkSW5KU1N0YWNr
OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKaW5kZXggYjJlNjIzMGQ1ZDU2MTQ3OTE1ZGJiZDVkMTY0MjJmMzdhMGYzOTllOS4u
NTVkYTA0MThlOTM2MDZjNDFmODQ0ODhhOTE4MGQwN2MyM2Y1ZTk4YSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC03
NDIsNiArNzQyLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZSkK
ICAgICAgICAgICAgIAogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtUGFzc2VkQXJn
czsgaSA8IG51bUFsbG9jYXRlZEFyZ3M7ICsraSkKICAgICAgICAgICAgICAgICBzaHVmZmxlRGF0
YS5hcmdzW2ldID0gVmFsdWVSZWNvdmVyeTo6Y29uc3RhbnQoanNVbmRlZmluZWQoKSk7CisKKyAg
ICAgICAgICAgIHNodWZmbGVEYXRhLnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhtX2ppdC5jb2Rl
QmxvY2soKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBtX2ppdC5zdG9yZTMyKE1h
Y3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIobnVtUGFzc2VkQXJncyksIG1faml0LmNhbGxlZUZy
YW1lUGF5bG9hZFNsb3QoQ2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMp
KTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhY2hl
ZFJlY292ZXJ5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3Zlcnku
Y3BwCmluZGV4IGY0YWFjYzZjODBlZTU1MDkwODQ3Nzg1MzZlYzdiMDg2YzE4ODIzMDMuLjAwZTcx
ZjQ4N2RiMzJhOGNkZDE2ZTU2MjAyMzMxYzUxZmI5MWUwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwCkBAIC01Miw3ICs1Miw5IEBAIGJvb2wgQ2Fj
aGVkUmVjb3Zlcnk6OmxvYWRzSW50b0dQUigpIGNvbnN0CiB7CiAgICAgc3dpdGNoIChyZWNvdmVy
eSgpLnRlY2huaXF1ZSgpKSB7CiAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKLSNp
ZiBVU0UoSlNWQUxVRTY0KQorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgY2FzZSBJbnQzMlRh
Z0Rpc3BsYWNlZEluSlNTdGFjazoKKyNlbGlmIFVTRShKU1ZBTFVFNjQpCiAgICAgY2FzZSBJbnQ1
MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICBjYXNlIFN0cmljdEludDUyRGlzcGxhY2VkSW5KU1N0
YWNrOgogICAgIGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmNwcAppbmRleCAzMmQ2ZTRjMGIzNmJm
ZDYxZDE1MDUyZjg1YTEyY2FlY2UzYmJiNTUyLi5jZjE1Y2UxOTllZDM3NmFmMTUwZTg4N2YzZWVk
MDJmYTE1ZGM3YjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxG
cmFtZVNodWZmbGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxG
cmFtZVNodWZmbGVEYXRhLmNwcApAQCAtMzMsOCArMzMsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsK
IAotI2lmIFVTRShKU1ZBTFVFNjQpCi0KIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVw
Q2FsbGVlU2F2ZVJlZ2lzdGVycyhDb2RlQmxvY2sqIGNvZGVCbG9jaykKIHsKICAgICBzZXR1cENh
bGxlZVNhdmVSZWdpc3RlcnMoY29kZUJsb2NrLT5jYWxsZWVTYXZlUmVnaXN0ZXJzKCkpOwpAQCAt
NDksOSArNDcsMjQgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZl
UmVnaXN0ZXJzKGNvbnN0IFJlZ2lzdGVyQXRPZmZzZXRMaXN0KgogICAgICAgICBpZiAoIWNhbGxl
ZVNhdmVSZWdpc3RlcnMuZ2V0KGVudHJ5LnJlZygpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwog
Ci0gICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7IGVudHJ5Lm9mZnNldEFzSW5kZXgo
KSB9OworICAgICAgICBpbnQgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzID0gZW50cnkub2Zm
c2V0QXNJbmRleCgpOworCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgLy8gQ1BVIHJlZ2lz
dGVycyBhcmUgdGhlIHNhbWUgc2l6ZSBhcyB2aXJ0dWFsIHJlZ2lzdGVycworICAgICAgICBWaXJ0
dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgfTsKICAg
ICAgICAgcmVnaXN0ZXJzW2VudHJ5LnJlZygpXQogICAgICAgICAgICAgPSBWYWx1ZVJlY292ZXJ5
OjpkaXNwbGFjZWRJbkpTU3RhY2soc2F2ZVNsb3QsIERhdGFGb3JtYXRKUyk7CisjZWxpZiBVU0Uo
SlNWQUxVRTMyXzY0KQorICAgICAgICAvLyBPbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcywgMiBjYWxs
ZWUgc2F2ZWQgcmVnaXN0ZXJzIG1heSBiZSBwYWNrZWQgaW50byB0aGUgc2FtZSBzbG90CisgICAg
ICAgIHN0YXRpY19hc3NlcnQoIVBheWxvYWRPZmZzZXQgfHwgIVRhZ09mZnNldCk7CisgICAgICAg
IHN0YXRpY19hc3NlcnQoUGF5bG9hZE9mZnNldCA9PSA0IHx8IFRhZ09mZnNldCA9PSA0KTsKKyAg
ICAgICAgYm9vbCBpblRhZyA9IChzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgJiAxKSA9PSAh
IVRhZ09mZnNldDsKKyAgICAgICAgaWYgKHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyA8IDAp
CisgICAgICAgICAgICBzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgLT0gMTsgLy8gUm91bmQg
dG93YXJkcyAtaW5mCisgICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7IHNhdmVTbG90
SW5kZXhJbkNQVVJlZ2lzdGVycyAvIDIgfTsKKyAgICAgICAgcmVnaXN0ZXJzW2VudHJ5LnJlZygp
XQorICAgICAgICAgICAgPSBWYWx1ZVJlY292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5K
U1N0YWNrKHNhdmVTbG90LCBpblRhZyk7CisjZW5kaWYKICAgICB9CiAKICAgICBmb3IgKFJlZyBy
ZWcgPSBSZWc6OmZpcnN0KCk7IHJlZyA8PSBSZWc6Omxhc3QoKTsgcmVnID0gcmVnLm5leHQoKSkg
ewpAQCAtNjEsMTIgKzc0LDE0IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2Fs
bGVlU2F2ZVJlZ2lzdGVycyhjb25zdCBSZWdpc3RlckF0T2Zmc2V0TGlzdCoKICAgICAgICAgaWYg
KHJlZ2lzdGVyc1tyZWddKQogICAgICAgICAgICAgY29udGludWU7CiAKKyNpZiBVU0UoSlNWQUxV
RTY0KQogICAgICAgICByZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6OmluUmVnaXN0ZXIo
cmVnLCBEYXRhRm9ybWF0SlMpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgcmVn
aXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjppblJlZ2lzdGVyKHJlZywgRGF0YUZvcm1hdElu
dDMyKTsKKyNlbmRpZgogICAgIH0KIH0KIAotI2VuZGlmIC8vIFVTRShKU1ZBTFVFNjQpCi0KIH0g
Ly8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaAppbmRleCBjNmI3MGYwNWQx
MDliMTg1ZjRkMTJiYzcwOWY4Zjc2N2NiYmYxZjM3Li4zMzY1N2UzM2E2NGYzNzgxZjQzMDk5OGMx
MzMzNzFhMWFhNjRiNzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Nh
bGxGcmFtZVNodWZmbGVEYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxs
RnJhbWVTaHVmZmxlRGF0YS5oCkBAIC00NCwxMyArNDQsMTMgQEAgcHVibGljOgogICAgIHVuc2ln
bmVkIG51bUxvY2FscyB7IFVJTlRfTUFYIH07CiAgICAgdW5zaWduZWQgbnVtUGFzc2VkQXJncyB7
IFVJTlRfTUFYIH07CiAgICAgdW5zaWduZWQgbnVtUGFyYW1ldGVycyB7IFVJTlRfTUFYIH07IC8v
IE9uIG91ciBtYWNoaW5lIGZyYW1lLgotI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgUmVnaXN0ZXJN
YXA8VmFsdWVSZWNvdmVyeT4gcmVnaXN0ZXJzOworI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgR1BS
UmVnIG51bWJlclRhZ1JlZ2lzdGVyIHsgSW52YWxpZEdQUlJlZyB9OworI2VuZGlmCiAKICAgICB2
b2lkIHNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhDb2RlQmxvY2sqKTsKICAgICB2b2lkIHNldHVw
Q2FsbGVlU2F2ZVJlZ2lzdGVycyhjb25zdCBSZWdpc3RlckF0T2Zmc2V0TGlzdCopOwotI2VuZGlm
CiAgICAgVmFsdWVSZWNvdmVyeSBjYWxsZWU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCmluZGV4IDNiNTM3NGRhMTY2ZmY3MTk5ZjVm
YWU0NTVhYTY2NjNlYmRlZTUzZDUuLjkzMGFiYTIxMjYwM2RjNmJhMzdmNDllOTIwOWIzZDljMmE1
YmRkM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1
ZmZsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZXIuY3BwCkBAIC01MiwxMyArNTIsOCBAQCBDYWxsRnJhbWVTaHVmZmxlcjo6Q2FsbEZyYW1lU2h1
ZmZsZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IENhbGxGcmFtZVNodWZmbGVEYQogICAgIGZv
ciAodW5zaWduZWQgaSA9IEZQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzOyBpLS07ICkKICAgICAg
ICAgbV9sb2NrZWRSZWdpc3RlcnMuY2xlYXIoRlBSSW5mbzo6dG9SZWdpc3RlcihpKSk7CiAKLSNp
ZiBVU0UoSlNWQUxVRTY0KQotICAgIC8vIC4uLiBhcyB3ZWxsIGFzIHRoZSBydW50aW1lIHJlZ2lz
dGVycyBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KLSAgICAvLyBIb3dldmVyIGRvIG5vdCB1c2Ug
dGhlc2UgcmVnaXN0ZXJzIG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzIHNpbmNlCi0gICAgLy8gc2F2
aW5nIGFuZCByZXN0b3JpbmcgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpbiBDYWxsRnJhbWVTaHVm
ZmxlciBpc24ndCBzdXBwb3J0ZWQKLSAgICAvLyBvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcyB5ZXQu
CisgICAgLy8gLi4uIGFzIHdlbGwgYXMgdGhlIGNhbGxlZSBzYXZlZCByZWdpc3RlcnMKICAgICBt
X2xvY2tlZFJlZ2lzdGVycy5leGNsdWRlKFJlZ2lzdGVyU2V0Ojp2bUNhbGxlZVNhdmVSZWdpc3Rl
cnMoKSk7Ci0jZW5kaWYKIAogICAgIEFTU0VSVCghZGF0YS5jYWxsZWUuaXNJbkpTU3RhY2soKSB8
fCBkYXRhLmNhbGxlZS52aXJ0dWFsUmVnaXN0ZXIoKS5pc0xvY2FsKCkpOwogICAgIGFkZE5ldyhD
YWxsRnJhbWVTbG90OjpjYWxsZWUsIGRhdGEuY2FsbGVlKTsKQEAgLTY4LDE3ICs2MywyMSBAQCBD
YWxsRnJhbWVTaHVmZmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIGNv
bnN0IENhbGxGcmFtZVNodWZmbGVEYQogICAgICAgICBhZGROZXcodmlydHVhbFJlZ2lzdGVyRm9y
QXJndW1lbnRJbmNsdWRpbmdUaGlzKGkpLCBkYXRhLmFyZ3NbaV0pOwogICAgIH0KIAotI2lmIFVT
RShKU1ZBTFVFNjQpCiAgICAgZm9yIChSZWcgcmVnID0gUmVnOjpmaXJzdCgpOyByZWcgPD0gUmVn
OjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0KCkpIHsKICAgICAgICAgaWYgKCFkYXRhLnJlZ2lzdGVy
c1tyZWddLmlzU2V0KCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAocmVn
LmlzR1BSKCkpCisgICAgICAgIGlmIChyZWcuaXNHUFIoKSkgeworI2lmIFVTRShKU1ZBTFVFNjQp
CiAgICAgICAgICAgICBhZGROZXcoSlNWYWx1ZVJlZ3MocmVnLmdwcigpKSwgZGF0YS5yZWdpc3Rl
cnNbcmVnXSk7Ci0gICAgICAgIGVsc2UKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAg
ICAgICBhZGROZXcocmVnLmdwcigpLCBkYXRhLnJlZ2lzdGVyc1tyZWddKTsKKyNlbmRpZgorICAg
ICAgICB9IGVsc2UKICAgICAgICAgICAgIGFkZE5ldyhyZWcuZnByKCksIGRhdGEucmVnaXN0ZXJz
W3JlZ10pOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgbV9udW1iZXJUYWdSZWdp
c3RlciA9IGRhdGEubnVtYmVyVGFnUmVnaXN0ZXI7CiAgICAgaWYgKG1fbnVtYmVyVGFnUmVnaXN0
ZXIgIT0gSW52YWxpZEdQUlJlZykKICAgICAgICAgbG9ja0dQUihtX251bWJlclRhZ1JlZ2lzdGVy
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuaAppbmRl
eCBlMDQ4YTRkY2E2NjY1Njk5MWEwNDNhZTk0YjgwMGJiMTE0MTYwYjBjLi5hMTc2MjQ0ZTFlMzA5
NTY2NzczNDYwYWQyMDY1MGUxOWJjM2RhZDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oCkBAIC0xMTYsNiArMTE2LDE1IEBAIHB1YmxpYzoKIAog
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgICAgICBkYXRhLnJlZ2lzdGVyc1tyZWddID0gY2Fj
aGVkUmVjb3ZlcnktPnJlY292ZXJ5KCk7CisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAg
ICAgICAgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSA9IGNhY2hlZFJlY292ZXJ5LT5yZWNvdmVyeSgp
OworICAgICAgICAgICAgaWYgKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IERpc3BsYWNlZEluSlNT
dGFjaykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHdhbnRlZEpTVmFsdWVSZWcgPSBj
YWNoZWRSZWNvdmVyeS0+d2FudGVkSlNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgICAgICAgICBBU1NF
UlQocmVnID09IHdhbnRlZEpTVmFsdWVSZWcucGF5bG9hZEdQUigpIHx8IHJlZyA9PSB3YW50ZWRK
U1ZhbHVlUmVnLnRhZ0dQUigpKTsKKyAgICAgICAgICAgICAgICBib29sIGluVGFnID0gcmVnID09
IHdhbnRlZEpTVmFsdWVSZWcudGFnR1BSKCk7CisgICAgICAgICAgICAgICAgZGF0YS5yZWdpc3Rl
cnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6OmNhbGxlZVNhdmVSZWdEaXNwbGFjZWRJbkpTU3RhY2so
cmVjb3ZlcnkudmlydHVhbFJlZ2lzdGVyKCksIGluVGFnKTsKKyAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSByZWNvdmVyeTsKICNlbHNlCiAg
ICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2VuZGlmCkBAIC02NjMs
NiArNjcyLDMyIEBAIHByaXZhdGU6CiAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRK
U1ZhbHVlUmVncyhqc1ZhbHVlUmVncyk7CiAgICAgfQogCisjaWYgVVNFKEpTVkFMVUUzMl82NCkK
KyAgICB2b2lkIGFkZE5ldyhHUFJSZWcgZ3ByLCBWYWx1ZVJlY292ZXJ5IHJlY292ZXJ5KQorICAg
IHsKKyAgICAgICAgQVNTRVJUKGdwciAhPSBJbnZhbGlkR1BSUmVnICYmICFtX25ld1JlZ2lzdGVy
c1tncHJdKTsKKyAgICAgICAgQVNTRVJUKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IEludDMyRGlz
cGxhY2VkSW5KU1N0YWNrCisgICAgICAgICAgICB8fCByZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBJ
bnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjayk7CisgICAgICAgIENhY2hlZFJlY292ZXJ5KiBjYWNo
ZWRSZWNvdmVyeSA9IGFkZENhY2hlZFJlY292ZXJ5KHJlY292ZXJ5KTsKKyAgICAgICAgaWYgKEpT
VmFsdWVSZWdzIG9sZFJlZ3MgeyBjYWNoZWRSZWNvdmVyeS0+d2FudGVkSlNWYWx1ZVJlZ3MoKSB9
KSB7CisgICAgICAgICAgICAvLyBDb21iaW5lIHdpdGggdGhlIG90aGVyIENTUiBpbiB0aGUgc2Ft
ZSB2aXJ0dWFsIHJlZ2lzdGVyIHNsb3QKKyAgICAgICAgICAgIEFTU0VSVChvbGRSZWdzLnRhZ0dQ
UigpID09IEludmFsaWRHUFJSZWcpOworICAgICAgICAgICAgQVNTRVJUKG9sZFJlZ3MucGF5bG9h
ZEdQUigpICE9IEludmFsaWRHUFJSZWcgJiYgb2xkUmVncy5wYXlsb2FkR1BSKCkgIT0gZ3ByKTsK
KyAgICAgICAgICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBJbnQzMkRpc3BsYWNlZElu
SlNTdGFjaykgeworICAgICAgICAgICAgICAgIEFTU0VSVChjYWNoZWRSZWNvdmVyeS0+cmVjb3Zl
cnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjayk7CisgICAgICAg
ICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpTVmFsdWVSZWdzKEpTVmFsdWVSZWdz
KG9sZFJlZ3MucGF5bG9hZEdQUigpLCBncHIpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgQVNTRVJUKGNhY2hlZFJlY292ZXJ5LT5yZWNvdmVyeSgpLnRlY2huaXF1ZSgp
ID09IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrKTsKKyAgICAgICAgICAgICAgICBjYWNoZWRSZWNv
dmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJlZ3MoZ3ByLCBvbGRSZWdzLnBheWxv
YWRHUFIoKSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNl
dFJlY292ZXJ5KAorICAgICAgICAgICAgICAgIFZhbHVlUmVjb3Zlcnk6OmRpc3BsYWNlZEluSlNT
dGFjayhyZWNvdmVyeS52aXJ0dWFsUmVnaXN0ZXIoKSwgRGF0YUZvcm1hdEpTKSk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpTVmFsdWVSZWdz
KEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShncHIpKTsKKyAgICAgICAgbV9uZXdSZWdpc3RlcnNb
Z3ByXSA9IGNhY2hlZFJlY292ZXJ5OworICAgIH0KKyNlbmRpZgorCiAgICAgdm9pZCBhZGROZXco
RlBSUmVnIGZwciwgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSkKICAgICB7CiAgICAgICAgIEFTU0VS
VChmcHIgIT0gSW52YWxpZEZQUlJlZyAmJiAhbV9uZXdSZWdpc3RlcnNbZnByXSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcApp
bmRleCA1ZGZlOTZlODFlYzlmNmZhOWY3N2EwZDY1MTU2NzI1M2IxNmU3NjA5Li4yZmVmNTNkYTYw
YTJlNzVhNDdjNjRmOGQzMDQwYzQ2MjIyYmI4OGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKQEAgLTEyNCw4ICsxMjQs
MTEgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlcjo6ZW1pdExvYWQoQ2FjaGVkUmVjb3ZlcnkmIGxv
Y2F0aW9uKQogICAgICAgICBpZiAocmVzdWx0R1BSID09IEludmFsaWRHUFJSZWcgfHwgbV9yZWdp
c3RlcnNbcmVzdWx0R1BSXSB8fCBtX2xvY2tlZFJlZ2lzdGVycy5nZXQocmVzdWx0R1BSKSkKICAg
ICAgICAgICAgIHJlc3VsdEdQUiA9IGdldEZyZWVHUFIoKTsKICAgICAgICAgQVNTRVJUKHJlc3Vs
dEdQUiAhPSBJbnZhbGlkR1BSUmVnKTsKLSAgICAgICAgbV9qaXQubG9hZFB0cihhZGRyZXNzLndp
dGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJlc3VsdEdQUik7Ci0gICAgICAgIHVwZGF0ZVJlY292
ZXJ5KGxvY2F0aW9uLCAKKyAgICAgICAgaWYgKGxvY2F0aW9uLnJlY292ZXJ5KCkudGVjaG5pcXVl
KCkgPT0gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2spCisgICAgICAgICAgICBtX2ppdC5sb2Fk
UHRyKGFkZHJlc3Mud2l0aE9mZnNldChUYWdPZmZzZXQpLCByZXN1bHRHUFIpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBtX2ppdC5sb2FkUHRyKGFkZHJlc3Mud2l0aE9mZnNldChQYXlsb2Fk
T2Zmc2V0KSwgcmVzdWx0R1BSKTsKKyAgICAgICAgdXBkYXRlUmVjb3ZlcnkobG9jYXRpb24sCiAg
ICAgICAgICAgICBWYWx1ZVJlY292ZXJ5OjppbkdQUihyZXN1bHRHUFIsIGxvY2F0aW9uLnJlY292
ZXJ5KCkuZGF0YUZvcm1hdCgpKSk7CiAgICAgICAgIGlmICh2ZXJib3NlKQogICAgICAgICAgICAg
ZGF0YUxvZyhsb2NhdGlvbi5yZWNvdmVyeSgpLCAiXG4iKTsKQEAgLTE5MCwyOCArMTkzLDE4IEBA
IHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXREaXNwbGFjZShDYWNoZWRSZWNvdmVyeSYgbG9j
YXRpb24pCiAgICAgaWYgKHdhbnRlZFRhZ0dQUiAhPSBJbnZhbGlkR1BSUmVnKSB7CiAgICAgICAg
IEFTU0VSVCghbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHdhbnRlZFRhZ0dQUikpOwogICAgICAgICBp
ZiAoQ2FjaGVkUmVjb3ZlcnkqIGN1cnJlbnRUYWcgeyBtX3JlZ2lzdGVyc1t3YW50ZWRUYWdHUFJd
IH0pIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50VGFnID09ICZsb2NhdGlvbikgewotICAgICAg
ICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAr
ICIsIHdhbnRlZFRhZ0dQUiwgIiBpcyBPS1xuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgIC8vIFRoaXMgY2FuIG5ldmVyIGhhcHBlbiBvbiAzMmJpdCBwbGF0Zm9ybXMg
c2luY2Ugd2UKLSAgICAgICAgICAgICAgICAvLyBoYXZlIGF0IG1vc3Qgb25lIHdhbnRlZCBKU1Zh
bHVlUmVncywgZm9yIHRoZQotICAgICAgICAgICAgICAgIC8vIGNhbGxlZSwgYW5kIG5vIGNhbGxl
ZS1zYXZlIHJlZ2lzdGVycy4KLSAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoY3VycmVu
dFRhZyA9PSAmbG9jYXRpb24pOworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAg
ICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRUYWdHUFIsICIgaXMgT0tcbiIpOwogICAgICAg
ICB9CiAgICAgfQogCiAgICAgaWYgKHdhbnRlZFBheWxvYWRHUFIgIT0gSW52YWxpZEdQUlJlZykg
ewogICAgICAgICBBU1NFUlQoIW1fbG9ja2VkUmVnaXN0ZXJzLmdldCh3YW50ZWRQYXlsb2FkR1BS
KSk7CiAgICAgICAgIGlmIChDYWNoZWRSZWNvdmVyeSogY3VycmVudFBheWxvYWQgeyBtX3JlZ2lz
dGVyc1t3YW50ZWRQYXlsb2FkR1BSXSB9KSB7Ci0gICAgICAgICAgICBpZiAoY3VycmVudFBheWxv
YWQgPT0gJmxvY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAg
ICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2FudGVkUGF5bG9hZEdQUiwgIiBpcyBPS1xu
Iik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIFNlZSBhYm92ZQot
ICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAg
ICB9CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50UGF5bG9hZCA9PSAmbG9jYXRp
b24pOworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICAgICAgZGF0YUxvZygi
ICAgKyAiLCB3YW50ZWRQYXlsb2FkR1BSLCAiIGlzIE9LXG4iKTsKICAgICAgICAgfQogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAppbmRleCA1ZmY2MjQ3NDFhYjcwZThjMDQz
NWJkZjlkMjViMTkxNDYwMzgxZDllLi4yZjdjZjVhYmJiMzk5Y2E3NDQzZWFjODMyMDMyZjZjMDcz
YjQyYmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaApAQCAtNTM4LDcgKzUzOCw3
IEBAIHB1YmxpYzoKIGNsYXNzIEdQUkluZm8gewogcHVibGljOgogICAgIHR5cGVkZWYgR1BSUmVn
IFJlZ2lzdGVyVHlwZTsKLSAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJlck9mUmVn
aXN0ZXJzID0gOTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJlck9mUmVnaXN0
ZXJzID0gMTA7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZkFyZ3VtZW50
UmVnaXN0ZXJzID0gTlVNQkVSX09GX0FSR1VNRU5UX1JFR0lTVEVSUzsKIAogICAgIC8vIFRlbXBv
cmFyeSByZWdpc3RlcnMuCkBAIC01NjcsNyArNTY3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBH
UFJSZWcgdG9SZWdpc3Rlcih1bnNpZ25lZCBpbmRleCkKICAgICB7CiAgICAgICAgIEFTU0VSVChp
bmRleCA8IG51bWJlck9mUmVnaXN0ZXJzKTsKLSAgICAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyBy
ZWdpc3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9IHsgcmVnVDAsIHJlZ1QxLCByZWdU
MiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3LCByZWdDUzEgfTsKKyAgICAgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9
IHsgcmVnVDAsIHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3
LCByZWdDUzAsIHJlZ0NTMSB9OwogICAgICAgICByZXR1cm4gcmVnaXN0ZXJGb3JJbmRleFtpbmRl
eF07CiAgICAgfQogCkBAIC01ODMsNyArNTgzLDcgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQo
cmVnICE9IEludmFsaWRHUFJSZWcpOwogICAgICAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8aW50Pihy
ZWcpIDwgMTYpOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5kZXhGb3JSZWdpc3Rl
clsxNl0gPQotICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA3LCA2LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCwgNCwgNSwgOCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAgICAgICAgICAgIHsgMCwgMSwg
MiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIDQsIDUsIDksIDgsIEludmFs
aWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OwogICAg
ICAgICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVyW3JlZ107CiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZWdpc3RlclNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0
LmNwcAppbmRleCBjNTI5ZDc0YWZlYzhlYTg2NmMwODY0NjQ5NTRiZjc5YTEwOGIzZDkxLi42NDZj
ZDRmOTM1MmU3NDBlZWE5ZTYyNDYxM2RhMjY0MmRmY2I2YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcApAQCAtMjU0LDYgKzI1NCw3IEBAIFJlZ2lzdGVyU2V0
IFJlZ2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKCkKICAgICByZXN1bHQuc2V0KEdQ
UkluZm86OnJlZ0NTNik7CiAjZW5kaWYKICNlbGlmIENQVShBUk1fVEhVTUIyKQorICAgIHJlc3Vs
dC5zZXQoR1BSSW5mbzo6cmVnQ1MwKTsKICAgICByZXN1bHQuc2V0KEdQUkluZm86OnJlZ0NTMSk7
CiAjZWxpZiBDUFUoQVJNNjQpCiAgICAgc3RhdGljX2Fzc2VydChHUFJJbmZvOjpyZWdDUzggPT0g
R1BSSW5mbzo6bnVtYmVyVGFnUmVnaXN0ZXIsICIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KaW5kZXggNTgw
NmE5ZWE2ZTcxNDk3ZmVmNTEwY2NjMDFlM2Q4ZDRiNzIwMmM5MS4uZGQ5YWEzZmE1YzQ3MjRjYjhj
NjQ5ODRkOTdlNDc0MzBkZmJmMDc4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAgLTc5LDggKzc5LDYg
QEAgZW5kCiAjIEFmdGVyIGNhbGxpbmcsIGNhbGxpbmcgYnl0ZWNvZGUgaXMgY2xhaW1pbmcgaW5w
dXQgcmVnaXN0ZXJzIGFyZSBub3QgdXNlZC4KIG1hY3JvIGRpc3BhdGNoQWZ0ZXJDYWxsKHNpemUs
IG9wY29kZVN0cnVjdCwgdmFsdWVQcm9maWxlTmFtZSwgZHN0VmlydHVhbFJlZ2lzdGVyLCBkaXNw
YXRjaCkKICAgICBsb2FkaSBBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyArIFRhZ09mZnNldFtj
ZnJdLCBQQwotICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBQQgotICAgIGxvYWRwIENvZGVCbG9j
azo6bV9pbnN0cnVjdGlvbnNSYXdQb2ludGVyW1BCXSwgUEIKICAgICBnZXQoc2l6ZSwgb3Bjb2Rl
U3RydWN0LCBkc3RWaXJ0dWFsUmVnaXN0ZXIsIHQzKQogICAgIHN0b3JlaSByMSwgVGFnT2Zmc2V0
W2NmciwgdDMsIDhdCiAgICAgc3RvcmVpIHIwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDMsIDhdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440261</attachid>
            <date>2021-10-05 14:03:08 -0700</date>
            <delta_ts>2021-10-05 14:05:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20211005220307.patch</filename>
            <type>text/plain</type>
            <size>19806</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MmRhMzk3ZDEzZTIzMjRhNDMzNTExNTA4MzRmYTMxNWZlNWZhMmI2Li5hOGM5ZDQ4ZTc3MmVlOTgy
ZTkxZTI1NWRhZGRmYzE0YTZlZTU5N2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0xMC0wNSAgR2V6YSBMb3JlICA8Z2V6YWxvcmVAZ21haWwuY29tPgor
CisgICAgICAgIEFsbG93IERGRyB0byB1c2UgcmVnQ1MwIEdQUiAoTExJbnQgbWV0YWRhdGFUYWJs
ZSkgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaW5jcmVhc2VzIHRoZSBhdmFpbGFibGUgcmVnaXN0ZXJzIG9uIEFSTXY3IHRvIDEw
LiBGb3IgdGhpcyB0bworICAgICAgICB3b3JrIHByb3Blcmx5IEkgbmVlZGVkIHRvIHRlYWNoIENh
bGxGcmFtZVNodWZmbGVyICh3aGljaCBpcyB1c2VkCisgICAgICAgIGZvciBzaHVmZmxpbmcgc3Rh
Y2sgZnJhbWVzIGZvciB0YWlsIGNhbGxzKSBob3cgdG8gcmVzdG9yZSBDU1JzIG9uCisgICAgICAg
IDMyLWJpdCBhcmNoaXRlY3R1cmVzLgorCisgICAgICAgICogYnl0ZWNvZGUvVmFsdWVSZWNvdmVy
eS5jcHA6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmR1bXBJbkNvbnRleHQgY29uc3Qp
OgorICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaDoKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayk6CisgICAgICAgIChK
U0M6OlZhbHVlUmVjb3Zlcnk6OmlzSW5KU1N0YWNrIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6ZGF0YUZvcm1hdCBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zl
cnk6OndpdGhMb2NhbHNPZmZzZXQgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENh
bGwpOgorICAgICAgICAqIGppdC9DYWNoZWRSZWNvdmVyeS5jcHA6CisgICAgICAgIChKU0M6OkNh
Y2hlZFJlY292ZXJ5Ojpsb2Fkc0ludG9HUFIgY29uc3QpOgorICAgICAgICAqIGppdC9DYWxsRnJh
bWVTaHVmZmxlRGF0YS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVEYXRhOjpz
ZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5oOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHA6CisgICAgICAgIChK
U0M6OkNhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVmZmxlcik6CisgICAgICAgICogaml0
L0NhbGxGcmFtZVNodWZmbGVyLmg6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjpz
bmFwc2hvdCBjb25zdCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjphZGROZXcp
OgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKToKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1l
U2h1ZmZsZXI6OmVtaXREaXNwbGFjZSk6CisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAgICAg
ICAgKEpTQzo6R1BSSW5mbzo6dG9SZWdpc3Rlcik6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRv
SW5kZXgpOgorICAgICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgIChKU0M6OlJl
Z2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKToKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorCiAyMDIxLTEwLTA1ICBNYXJrIExhbSAgPG1hcmsu
bGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBDb2RlQmxvY2sgc2hvdWxkIG5vdCBhZGQvcmVtb3Zl
IExvb3BIaW50RXhlY3V0aW9uQ291bnRlcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKaW5kZXggZTQyNDVlYWJlYzNlMzIyNGE1ZGE1ZmY3
NTI1YjU1ZGM5Y2E3MDE2Ni4uMDg5NjIzYjZmNGRmODM5YzU2NGJhYzJiZjQ2MTBlYjc3ZTU3MzMy
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3Zl
cnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5
LmNwcApAQCAtOTksNiArOTksMTEgQEAgdm9pZCBWYWx1ZVJlY292ZXJ5OjpkdW1wSW5Db250ZXh0
KFByaW50U3RyZWFtJiBvdXQsIER1bXBDb250ZXh0KiBjb250ZXh0KSBjb25zdAogICAgIGNhc2Ug
SW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIG91dC5wcmludCgiKmludDMyKCIsIHZp
cnR1YWxSZWdpc3RlcigpLCAiKSIpOwogICAgICAgICByZXR1cm47CisjaWYgVVNFKEpTVkFMVUUz
Ml82NCkKKyAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorICAgICAgICBvdXQu
cHJpbnQoIippbnQzMlRhZygiLCB2aXJ0dWFsUmVnaXN0ZXIoKSwgIikiKTsKKyAgICAgICAgcmV0
dXJuOworI2VuZGlmCiAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAg
b3V0LnByaW50KCIqaW50NTIoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJl
Y292ZXJ5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5o
CmluZGV4IDVlNDNiYzcyYmJjYzRmZjk3YTY4ZjgzZGE4MzA5NGU1OGRhM2IzMTQuLjA4MjI0ZWQ3
Y2E1YjU4ZjE1Y2Q5ZTFjMDM2YmZlNTNkZmI4YWMzOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaApAQCAtNjAsNiArNjAsOSBAQCBlbnVtIFZh
bHVlUmVjb3ZlcnlUZWNobmlxdWUgOiB1aW50OF90IHsKICAgICBEaXNwbGFjZWRJbkpTU3RhY2ss
CiAgICAgLy8gSXQncyBpbiB0aGUgc3RhY2ssIGF0IGEgZGlmZmVyZW50IGxvY2F0aW9uLCBhbmQg
aXQncyB1bmJveGVkLgogICAgIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrLAorI2lmIFVTRShKU1ZB
TFVFMzJfNjQpCisgICAgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2ssIC8vIGludDMyIHN0b3Jl
ZCBpbiB0YWcgZmllbGQKKyNlbmRpZgogICAgIEludDUyRGlzcGxhY2VkSW5KU1N0YWNrLAogICAg
IFN0cmljdEludDUyRGlzcGxhY2VkSW5KU1N0YWNrLAogICAgIERvdWJsZURpc3BsYWNlZEluSlNT
dGFjaywKQEAgLTE4Nyw3ICsxOTAsMTkgQEAgcHVibGljOgogICAgICAgICByZXN1bHQubV9zb3Vy
Y2UgPSBXVEZNb3ZlKHUpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKwor
I2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgc3RhdGljIFZhbHVlUmVjb3ZlcnkgY2FsbGVlU2F2
ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayhWaXJ0dWFsUmVnaXN0ZXIgdmlydHVhbFJlZywgYm9vbCBp
blRhZykKKyAgICB7CisgICAgICAgIFZhbHVlUmVjb3ZlcnkgcmVzdWx0OworICAgICAgICBVbmlv
blR5cGUgdTsKKyAgICAgICAgdS52aXJ0dWFsUmVnID0gdmlydHVhbFJlZy5vZmZzZXQoKTsKKyAg
ICAgICAgcmVzdWx0Lm1fc291cmNlID0gV1RGTW92ZSh1KTsKKyAgICAgICAgcmVzdWx0Lm1fdGVj
aG5pcXVlID0gaW5UYWcgPyBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjayA6IEludDMyRGlzcGxh
Y2VkSW5KU1N0YWNrOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAg
ICAgc3RhdGljIFZhbHVlUmVjb3ZlcnkgY29uc3RhbnQoSlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAg
ICAgICAgIFZhbHVlUmVjb3ZlcnkgcmVzdWx0OwpAQCAtMjU4LDYgKzI3Myw5IEBAIHB1YmxpYzoK
ICAgICAgICAgc3dpdGNoIChtX3RlY2huaXF1ZSkgewogICAgICAgICBjYXNlIERpc3BsYWNlZElu
SlNTdGFjazoKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNpZiBVU0Uo
SlNWQUxVRTMyXzY0KQorICAgICAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgor
I2VuZGlmCiAgICAgICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIGNh
c2UgU3RyaWN0SW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIGNhc2UgRG91YmxlRGlz
cGxhY2VkSW5KU1N0YWNrOgpAQCAtMjgyLDYgKzMwMCw5IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IHJldHVybiBEYXRhRm9ybWF0SlM7CiAgICAgICAgIGNhc2UgVW5ib3hlZEludDMySW5HUFI6CiAg
ICAgICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6CisjaWYgVVNFKEpTVkFMVUUzMl82
NCkKKyAgICAgICAgY2FzZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyNlbmRpZgogICAg
ICAgICAgICAgcmV0dXJuIERhdGFGb3JtYXRJbnQzMjsKICAgICAgICAgY2FzZSBVbmJveGVkSW50
NTJJbkdQUjoKICAgICAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKQEAgLTM1OCw2
ICszNzksOSBAQCBwdWJsaWM6CiAgICAgICAgIHN3aXRjaCAobV90ZWNobmlxdWUpIHsKICAgICAg
ICAgY2FzZSBEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJ
bkpTU3RhY2s6CisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgY2FzZSBJbnQzMlRhZ0Rp
c3BsYWNlZEluSlNTdGFjazoKKyNlbmRpZgogICAgICAgICBjYXNlIERvdWJsZURpc3BsYWNlZElu
SlNTdGFjazoKICAgICAgICAgY2FzZSBDZWxsRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBj
YXNlIEJvb2xlYW5EaXNwbGFjZWRJbkpTU3RhY2s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA2ZWZiY2VkZGJjMGFm
YjY5Mzg4MmZhMzI2MDdhM2E3N2I2OTc5ZGU1Li41ZTUwZmFjMmQxYzAwMTRkZDMzOGM4ZTkxOWU2
MDBkM2YwM2VlMGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTc0Miw2ICs3NDIsOCBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjplbWl0Q2FsbChOb2RlKiBub2RlKQogICAgICAgICAgICAgCiAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSBudW1QYXNzZWRBcmdzOyBpIDwgbnVtQWxsb2NhdGVkQXJnczsgKytp
KQogICAgICAgICAgICAgICAgIHNodWZmbGVEYXRhLmFyZ3NbaV0gPSBWYWx1ZVJlY292ZXJ5Ojpj
b25zdGFudChqc1VuZGVmaW5lZCgpKTsKKworICAgICAgICAgICAgc2h1ZmZsZURhdGEuc2V0dXBD
YWxsZWVTYXZlUmVnaXN0ZXJzKG1faml0LmNvZGVCbG9jaygpKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIG1faml0LnN0b3JlMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihu
dW1QYXNzZWRBcmdzKSwgbV9qaXQuY2FsbGVlRnJhbWVQYXlsb2FkU2xvdChDYWxsRnJhbWVTbG90
Ojphcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcykpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5jcHAKaW5kZXggZjRhYWNjNmM4MGVlNTUwOTA4
NDc3ODUzNmVjN2IwODZjMTg4MjMwMy4uMDBlNzFmNDg3ZGIzMmE4Y2RkMTZlNTYyMDIzMzFjNTFm
YjkxZTAxMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNv
dmVyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5j
cHAKQEAgLTUyLDcgKzUyLDkgQEAgYm9vbCBDYWNoZWRSZWNvdmVyeTo6bG9hZHNJbnRvR1BSKCkg
Y29uc3QKIHsKICAgICBzd2l0Y2ggKHJlY292ZXJ5KCkudGVjaG5pcXVlKCkpIHsKICAgICBjYXNl
IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgotI2lmIFVTRShKU1ZBTFVFNjQpCisjaWYgVVNFKEpT
VkFMVUUzMl82NCkKKyAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorI2VsaWYg
VVNFKEpTVkFMVUU2NCkKICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgIGNh
c2UgU3RyaWN0SW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgY2FzZSBEaXNwbGFjZWRJbkpT
U3RhY2s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNo
dWZmbGVEYXRhLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZURhdGEuY3BwCmluZGV4IDMyZDZlNGMwYjM2YmZkNjFkMTUwNTJmODVhMTJjYWVjZTNiYmI1NTIu
LmNmMTVjZTE5OWVkMzc2YWYxNTBlODg3ZjNlZWQwMmZhMTVkYzdiMmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwCkBAIC0zMyw4
ICszMyw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0jaWYgVVNFKEpTVkFMVUU2NCkKLQogdm9p
ZCBDYWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKENvZGVCbG9j
ayogY29kZUJsb2NrKQogewogICAgIHNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhjb2RlQmxvY2st
PmNhbGxlZVNhdmVSZWdpc3RlcnMoKSk7CkBAIC00OSw5ICs0NywyNCBAQCB2b2lkIENhbGxGcmFt
ZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMoY29uc3QgUmVnaXN0ZXJBdE9m
ZnNldExpc3QqCiAgICAgICAgIGlmICghY2FsbGVlU2F2ZVJlZ2lzdGVycy5nZXQoZW50cnkucmVn
KCkpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgVmlydHVhbFJlZ2lzdGVyIHNh
dmVTbG90IHsgZW50cnkub2Zmc2V0QXNJbmRleCgpIH07CisgICAgICAgIGludCBzYXZlU2xvdElu
ZGV4SW5DUFVSZWdpc3RlcnMgPSBlbnRyeS5vZmZzZXRBc0luZGV4KCk7CisKKyNpZiBVU0UoSlNW
QUxVRTY0KQorICAgICAgICAvLyBDUFUgcmVnaXN0ZXJzIGFyZSB0aGUgc2FtZSBzaXplIGFzIHZp
cnR1YWwgcmVnaXN0ZXJzCisgICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7IHNhdmVT
bG90SW5kZXhJbkNQVVJlZ2lzdGVycyB9OwogICAgICAgICByZWdpc3RlcnNbZW50cnkucmVnKCld
CiAgICAgICAgICAgICA9IFZhbHVlUmVjb3Zlcnk6OmRpc3BsYWNlZEluSlNTdGFjayhzYXZlU2xv
dCwgRGF0YUZvcm1hdEpTKTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIC8vIE9u
IDMyLWJpdCBhcmNoaXRlY3R1cmVzLCAyIGNhbGxlZSBzYXZlZCByZWdpc3RlcnMgbWF5IGJlIHBh
Y2tlZCBpbnRvIHRoZSBzYW1lIHNsb3QKKyAgICAgICAgc3RhdGljX2Fzc2VydCghUGF5bG9hZE9m
ZnNldCB8fCAhVGFnT2Zmc2V0KTsKKyAgICAgICAgc3RhdGljX2Fzc2VydChQYXlsb2FkT2Zmc2V0
ID09IDQgfHwgVGFnT2Zmc2V0ID09IDQpOworICAgICAgICBib29sIGluVGFnID0gKHNhdmVTbG90
SW5kZXhJbkNQVVJlZ2lzdGVycyAmIDEpID09ICEhVGFnT2Zmc2V0OworICAgICAgICBpZiAoc2F2
ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIDwgMCkKKyAgICAgICAgICAgIHNhdmVTbG90SW5kZXhJ
bkNQVVJlZ2lzdGVycyAtPSAxOyAvLyBSb3VuZCB0b3dhcmRzIC1pbmYKKyAgICAgICAgVmlydHVh
bFJlZ2lzdGVyIHNhdmVTbG90IHsgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIC8gMiB9Owor
ICAgICAgICByZWdpc3RlcnNbZW50cnkucmVnKCldCisgICAgICAgICAgICA9IFZhbHVlUmVjb3Zl
cnk6OmNhbGxlZVNhdmVSZWdEaXNwbGFjZWRJbkpTU3RhY2soc2F2ZVNsb3QsIGluVGFnKTsKKyNl
bmRpZgogICAgIH0KIAogICAgIGZvciAoUmVnIHJlZyA9IFJlZzo6Zmlyc3QoKTsgcmVnIDw9IFJl
Zzo6bGFzdCgpOyByZWcgPSByZWcubmV4dCgpKSB7CkBAIC02MSwxMiArNzQsMTQgQEAgdm9pZCBD
YWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKGNvbnN0IFJlZ2lz
dGVyQXRPZmZzZXRMaXN0KgogICAgICAgICBpZiAocmVnaXN0ZXJzW3JlZ10pCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAorI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgIHJlZ2lzdGVyc1tyZWdd
ID0gVmFsdWVSZWNvdmVyeTo6aW5SZWdpc3RlcihyZWcsIERhdGFGb3JtYXRKUyk7CisjZWxpZiBV
U0UoSlNWQUxVRTMyXzY0KQorICAgICAgICByZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6
OmluUmVnaXN0ZXIocmVnLCBEYXRhRm9ybWF0SW50MzIpOworI2VuZGlmCiAgICAgfQogfQogCi0j
ZW5kaWYgLy8gVVNFKEpTVkFMVUU2NCkKLQogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAv
LyBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxs
RnJhbWVTaHVmZmxlRGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVT
aHVmZmxlRGF0YS5oCmluZGV4IGM2YjcwZjA1ZDEwOWIxODVmNGQxMmJjNzA5ZjhmNzY3Y2JiZjFm
MzcuLjMzNjU3ZTMzYTY0ZjM3ODFmNDMwOTk4YzEzMzM3MWExYWE2NGI3NWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKQEAgLTQ0LDEz
ICs0NCwxMyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbnVtTG9jYWxzIHsgVUlOVF9NQVggfTsK
ICAgICB1bnNpZ25lZCBudW1QYXNzZWRBcmdzIHsgVUlOVF9NQVggfTsKICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzIHsgVUlOVF9NQVggfTsgLy8gT24gb3VyIG1hY2hpbmUgZnJhbWUuCi0jaWYg
VVNFKEpTVkFMVUU2NCkKICAgICBSZWdpc3Rlck1hcDxWYWx1ZVJlY292ZXJ5PiByZWdpc3RlcnM7
CisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBHUFJSZWcgbnVtYmVyVGFnUmVnaXN0ZXIgeyBJbnZh
bGlkR1BSUmVnIH07CisjZW5kaWYKIAogICAgIHZvaWQgc2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJz
KENvZGVCbG9jayopOwogICAgIHZvaWQgc2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKGNvbnN0IFJl
Z2lzdGVyQXRPZmZzZXRMaXN0Kik7Ci0jZW5kaWYKICAgICBWYWx1ZVJlY292ZXJ5IGNhbGxlZTsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1
ZmZsZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5j
cHAKaW5kZXggM2I1Mzc0ZGExNjZmZjcxOTlmNWZhZTQ1NWFhNjY2M2ViZGVlNTNkNS4uOTMwYWJh
MjEyNjAzZGM2YmEzN2Y0OWU5MjA5YjNkOWMyYTViZGQzYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHAKQEAgLTUyLDEzICs1Miw4IEBAIENh
bGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVmZmxlcihDQ2FsbEhlbHBlcnMmIGppdCwgY29u
c3QgQ2FsbEZyYW1lU2h1ZmZsZURhCiAgICAgZm9yICh1bnNpZ25lZCBpID0gRlBSSW5mbzo6bnVt
YmVyT2ZSZWdpc3RlcnM7IGktLTsgKQogICAgICAgICBtX2xvY2tlZFJlZ2lzdGVycy5jbGVhcihG
UFJJbmZvOjp0b1JlZ2lzdGVyKGkpKTsKIAotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgLy8gLi4u
IGFzIHdlbGwgYXMgdGhlIHJ1bnRpbWUgcmVnaXN0ZXJzIG9uIDY0LWJpdCBhcmNoaXRlY3R1cmVz
LgotICAgIC8vIEhvd2V2ZXIgZG8gbm90IHVzZSB0aGVzZSByZWdpc3RlcnMgb24gMzItYml0IGFy
Y2hpdGVjdHVyZXMgc2luY2UKLSAgICAvLyBzYXZpbmcgYW5kIHJlc3RvcmluZyBjYWxsZWUtc2F2
ZWQgcmVnaXN0ZXJzIGluIENhbGxGcmFtZVNodWZmbGVyIGlzbid0IHN1cHBvcnRlZAotICAgIC8v
IG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzIHlldC4KKyAgICAvLyAuLi4gYXMgd2VsbCBhcyB0aGUg
Y2FsbGVlIHNhdmVkIHJlZ2lzdGVycwogICAgIG1fbG9ja2VkUmVnaXN0ZXJzLmV4Y2x1ZGUoUmVn
aXN0ZXJTZXQ6OnZtQ2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKLSNlbmRpZgogCiAgICAgQVNTRVJU
KCFkYXRhLmNhbGxlZS5pc0luSlNTdGFjaygpIHx8IGRhdGEuY2FsbGVlLnZpcnR1YWxSZWdpc3Rl
cigpLmlzTG9jYWwoKSk7CiAgICAgYWRkTmV3KENhbGxGcmFtZVNsb3Q6OmNhbGxlZSwgZGF0YS5j
YWxsZWUpOwpAQCAtNjgsMTcgKzYzLDIxIEBAIENhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVT
aHVmZmxlcihDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgQ2FsbEZyYW1lU2h1ZmZsZURhCiAgICAg
ICAgIGFkZE5ldyh2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudEluY2x1ZGluZ1RoaXMoaSksIGRh
dGEuYXJnc1tpXSk7CiAgICAgfQogCi0jaWYgVVNFKEpTVkFMVUU2NCkKICAgICBmb3IgKFJlZyBy
ZWcgPSBSZWc6OmZpcnN0KCk7IHJlZyA8PSBSZWc6Omxhc3QoKTsgcmVnID0gcmVnLm5leHQoKSkg
ewogICAgICAgICBpZiAoIWRhdGEucmVnaXN0ZXJzW3JlZ10uaXNTZXQoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgIGlmIChyZWcuaXNHUFIoKSkKKyAgICAgICAgaWYgKHJlZy5p
c0dQUigpKSB7CisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAgICAgICAgIGFkZE5ldyhKU1ZhbHVl
UmVncyhyZWcuZ3ByKCkpLCBkYXRhLnJlZ2lzdGVyc1tyZWddKTsKLSAgICAgICAgZWxzZQorI2Vs
aWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgICAgIGFkZE5ldyhyZWcuZ3ByKCksIGRhdGEu
cmVnaXN0ZXJzW3JlZ10pOworI2VuZGlmCisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgYWRk
TmV3KHJlZy5mcHIoKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7CiAgICAgfQogCisjaWYgVVNFKEpT
VkFMVUU2NCkKICAgICBtX251bWJlclRhZ1JlZ2lzdGVyID0gZGF0YS5udW1iZXJUYWdSZWdpc3Rl
cjsKICAgICBpZiAobV9udW1iZXJUYWdSZWdpc3RlciAhPSBJbnZhbGlkR1BSUmVnKQogICAgICAg
ICBsb2NrR1BSKG1fbnVtYmVyVGFnUmVnaXN0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oCmluZGV4IGUwNDhhNGRjYTY2NjU2OTkxYTA0M2FlOTRi
ODAwYmIxMTQxNjBiMGMuLmExNzYyNDRlMWUzMDk1NjY3NzM0NjBhZDIwNjUwZTE5YmMzZGFkNjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKQEAg
LTExNiw2ICsxMTYsMTUgQEAgcHVibGljOgogCiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAgICAg
ICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSBjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKTsKKyNl
bGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5IHJlY292ZXJ5
ID0gY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCk7CisgICAgICAgICAgICBpZiAocmVjb3Zlcnku
dGVjaG5pcXVlKCkgPT0gRGlzcGxhY2VkSW5KU1N0YWNrKSB7CisgICAgICAgICAgICAgICAgSlNW
YWx1ZVJlZ3Mgd2FudGVkSlNWYWx1ZVJlZyA9IGNhY2hlZFJlY292ZXJ5LT53YW50ZWRKU1ZhbHVl
UmVncygpOworICAgICAgICAgICAgICAgIEFTU0VSVChyZWcgPT0gd2FudGVkSlNWYWx1ZVJlZy5w
YXlsb2FkR1BSKCkgfHwgcmVnID09IHdhbnRlZEpTVmFsdWVSZWcudGFnR1BSKCkpOworICAgICAg
ICAgICAgICAgIGJvb2wgaW5UYWcgPSByZWcgPT0gd2FudGVkSlNWYWx1ZVJlZy50YWdHUFIoKTsK
KyAgICAgICAgICAgICAgICBkYXRhLnJlZ2lzdGVyc1tyZWddID0gVmFsdWVSZWNvdmVyeTo6Y2Fs
bGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayhyZWNvdmVyeS52aXJ0dWFsUmVnaXN0ZXIoKSwg
aW5UYWcpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgZGF0YS5yZWdpc3Rl
cnNbcmVnXSA9IHJlY292ZXJ5OwogI2Vsc2UKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAjZW5kaWYKQEAgLTY2Myw2ICs2NzIsMzIgQEAgcHJpdmF0ZToKICAgICAg
ICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpTVmFsdWVSZWdzKGpzVmFsdWVSZWdzKTsKICAg
ICB9CiAKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIHZvaWQgYWRkTmV3KEdQUlJlZyBncHIs
IFZhbHVlUmVjb3ZlcnkgcmVjb3ZlcnkpCisgICAgeworICAgICAgICBBU1NFUlQoZ3ByICE9IElu
dmFsaWRHUFJSZWcgJiYgIW1fbmV3UmVnaXN0ZXJzW2dwcl0pOworICAgICAgICBBU1NFUlQocmVj
b3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJEaXNwbGFjZWRJbkpTU3RhY2sKKyAgICAgICAgICAg
IHx8IHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrKTsK
KyAgICAgICAgQ2FjaGVkUmVjb3ZlcnkqIGNhY2hlZFJlY292ZXJ5ID0gYWRkQ2FjaGVkUmVjb3Zl
cnkocmVjb3ZlcnkpOworICAgICAgICBpZiAoSlNWYWx1ZVJlZ3Mgb2xkUmVncyB7IGNhY2hlZFJl
Y292ZXJ5LT53YW50ZWRKU1ZhbHVlUmVncygpIH0pIHsKKyAgICAgICAgICAgIC8vIENvbWJpbmUg
d2l0aCB0aGUgb3RoZXIgQ1NSIGluIHRoZSBzYW1lIHZpcnR1YWwgcmVnaXN0ZXIgc2xvdAorICAg
ICAgICAgICAgQVNTRVJUKG9sZFJlZ3MudGFnR1BSKCkgPT0gSW52YWxpZEdQUlJlZyk7CisgICAg
ICAgICAgICBBU1NFUlQob2xkUmVncy5wYXlsb2FkR1BSKCkgIT0gSW52YWxpZEdQUlJlZyAmJiBv
bGRSZWdzLnBheWxvYWRHUFIoKSAhPSBncHIpOworICAgICAgICAgICAgaWYgKHJlY292ZXJ5LnRl
Y2huaXF1ZSgpID09IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrKSB7CisgICAgICAgICAgICAgICAg
QVNTRVJUKGNhY2hlZFJlY292ZXJ5LT5yZWNvdmVyeSgpLnRlY2huaXF1ZSgpID09IEludDMyVGFn
RGlzcGxhY2VkSW5KU1N0YWNrKTsKKyAgICAgICAgICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0
V2FudGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJlZ3Mob2xkUmVncy5wYXlsb2FkR1BSKCksIGdwcikp
OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoY2FjaGVkUmVj
b3ZlcnktPnJlY292ZXJ5KCkudGVjaG5pcXVlKCkgPT0gSW50MzJEaXNwbGFjZWRJbkpTU3RhY2sp
OworICAgICAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhK
U1ZhbHVlUmVncyhncHIsIG9sZFJlZ3MucGF5bG9hZEdQUigpKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0UmVjb3ZlcnkoCisgICAgICAgICAgICAgICAg
VmFsdWVSZWNvdmVyeTo6ZGlzcGxhY2VkSW5KU1N0YWNrKHJlY292ZXJ5LnZpcnR1YWxSZWdpc3Rl
cigpLCBEYXRhRm9ybWF0SlMpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBjYWNoZWRS
ZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KGdw
cikpOworICAgICAgICBtX25ld1JlZ2lzdGVyc1tncHJdID0gY2FjaGVkUmVjb3Zlcnk7CisgICAg
fQorI2VuZGlmCisKICAgICB2b2lkIGFkZE5ldyhGUFJSZWcgZnByLCBWYWx1ZVJlY292ZXJ5IHJl
Y292ZXJ5KQogICAgIHsKICAgICAgICAgQVNTRVJUKGZwciAhPSBJbnZhbGlkRlBSUmVnICYmICFt
X25ld1JlZ2lzdGVyc1tmcHJdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3BwCmluZGV4IDVkZmU5NmU4MWVjOWY2ZmE5Zjc3YTBk
NjUxNTY3MjUzYjE2ZTc2MDkuLjJmZWY1M2RhNjBhMmU3NWE0N2M2NGY4ZDMwNDBjNDYyMjJiYjg4
ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZXIzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVm
ZmxlcjMyXzY0LmNwcApAQCAtMTI0LDggKzEyNCwxMSBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVy
OjplbWl0TG9hZChDYWNoZWRSZWNvdmVyeSYgbG9jYXRpb24pCiAgICAgICAgIGlmIChyZXN1bHRH
UFIgPT0gSW52YWxpZEdQUlJlZyB8fCBtX3JlZ2lzdGVyc1tyZXN1bHRHUFJdIHx8IG1fbG9ja2Vk
UmVnaXN0ZXJzLmdldChyZXN1bHRHUFIpKQogICAgICAgICAgICAgcmVzdWx0R1BSID0gZ2V0RnJl
ZUdQUigpOwogICAgICAgICBBU1NFUlQocmVzdWx0R1BSICE9IEludmFsaWRHUFJSZWcpOwotICAg
ICAgICBtX2ppdC5sb2FkUHRyKGFkZHJlc3Mud2l0aE9mZnNldChQYXlsb2FkT2Zmc2V0KSwgcmVz
dWx0R1BSKTsKLSAgICAgICAgdXBkYXRlUmVjb3ZlcnkobG9jYXRpb24sIAorICAgICAgICBpZiAo
bG9jYXRpb24ucmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNT
dGFjaykKKyAgICAgICAgICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRoT2Zmc2V0KFRhZ09m
ZnNldCksIHJlc3VsdEdQUik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1faml0LmxvYWRQ
dHIoYWRkcmVzcy53aXRoT2Zmc2V0KFBheWxvYWRPZmZzZXQpLCByZXN1bHRHUFIpOworICAgICAg
ICB1cGRhdGVSZWNvdmVyeShsb2NhdGlvbiwKICAgICAgICAgICAgIFZhbHVlUmVjb3Zlcnk6Omlu
R1BSKHJlc3VsdEdQUiwgbG9jYXRpb24ucmVjb3ZlcnkoKS5kYXRhRm9ybWF0KCkpKTsKICAgICAg
ICAgaWYgKHZlcmJvc2UpCiAgICAgICAgICAgICBkYXRhTG9nKGxvY2F0aW9uLnJlY292ZXJ5KCks
ICJcbiIpOwpAQCAtMTkwLDI4ICsxOTMsMTggQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlcjo6ZW1p
dERpc3BsYWNlKENhY2hlZFJlY292ZXJ5JiBsb2NhdGlvbikKICAgICBpZiAod2FudGVkVGFnR1BS
ICE9IEludmFsaWRHUFJSZWcpIHsKICAgICAgICAgQVNTRVJUKCFtX2xvY2tlZFJlZ2lzdGVycy5n
ZXQod2FudGVkVGFnR1BSKSk7CiAgICAgICAgIGlmIChDYWNoZWRSZWNvdmVyeSogY3VycmVudFRh
ZyB7IG1fcmVnaXN0ZXJzW3dhbnRlZFRhZ0dQUl0gfSkgewotICAgICAgICAgICAgaWYgKGN1cnJl
bnRUYWcgPT0gJmxvY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAg
ICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2FudGVkVGFnR1BSLCAiIGlzIE9LXG4i
KTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhpcyBjYW4gbmV2
ZXIgaGFwcGVuIG9uIDMyYml0IHBsYXRmb3JtcyBzaW5jZSB3ZQotICAgICAgICAgICAgICAgIC8v
IGhhdmUgYXQgbW9zdCBvbmUgd2FudGVkIEpTVmFsdWVSZWdzLCBmb3IgdGhlCi0gICAgICAgICAg
ICAgICAgLy8gY2FsbGVlLCBhbmQgbm8gY2FsbGVlLXNhdmUgcmVnaXN0ZXJzLgotICAgICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICB9CisgICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50VGFnID09ICZsb2NhdGlvbik7CisgICAgICAg
ICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICArICIsIHdhbnRl
ZFRhZ0dQUiwgIiBpcyBPS1xuIik7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAod2FudGVk
UGF5bG9hZEdQUiAhPSBJbnZhbGlkR1BSUmVnKSB7CiAgICAgICAgIEFTU0VSVCghbV9sb2NrZWRS
ZWdpc3RlcnMuZ2V0KHdhbnRlZFBheWxvYWRHUFIpKTsKICAgICAgICAgaWYgKENhY2hlZFJlY292
ZXJ5KiBjdXJyZW50UGF5bG9hZCB7IG1fcmVnaXN0ZXJzW3dhbnRlZFBheWxvYWRHUFJdIH0pIHsK
LSAgICAgICAgICAgIGlmIChjdXJyZW50UGF5bG9hZCA9PSAmbG9jYXRpb24pIHsKLSAgICAgICAg
ICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAi
LCB3YW50ZWRQYXlsb2FkR1BSLCAiIGlzIE9LXG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgLy8gU2VlIGFib3ZlCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNT
RVJUKGN1cnJlbnRQYXlsb2FkID09ICZsb2NhdGlvbik7CisgICAgICAgICAgICBpZiAodmVyYm9z
ZSkKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFBheWxvYWRHUFIsICIg
aXMgT0tcbiIpOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0dQUkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5m
by5oCmluZGV4IDVmZjYyNDc0MWFiNzBlOGMwNDM1YmRmOWQyNWIxOTE0NjAzODFkOWUuLjJmN2Nm
NWFiYmIzOTljYTc0NDNlYWM4MzIwMzJmNmMwNzNiNDJiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvR1BSSW5mby5oCkBAIC01MzgsNyArNTM4LDcgQEAgcHVibGljOgogY2xhc3MgR1BSSW5mbyB7
CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBHUFJSZWcgUmVnaXN0ZXJUeXBlOwotICAgIHN0YXRpYyBj
b25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZSZWdpc3RlcnMgPSA5OworICAgIHN0YXRpYyBjb25z
dGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZSZWdpc3RlcnMgPSAxMDsKICAgICBzdGF0aWMgY29uc3Rl
eHByIHVuc2lnbmVkIG51bWJlck9mQXJndW1lbnRSZWdpc3RlcnMgPSBOVU1CRVJfT0ZfQVJHVU1F
TlRfUkVHSVNURVJTOwogCiAgICAgLy8gVGVtcG9yYXJ5IHJlZ2lzdGVycy4KQEAgLTU2Nyw3ICs1
NjcsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEdQUlJlZyB0b1JlZ2lzdGVyKHVuc2lnbmVkIGlu
ZGV4KQogICAgIHsKICAgICAgICAgQVNTRVJUKGluZGV4IDwgbnVtYmVyT2ZSZWdpc3RlcnMpOwot
ICAgICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZSZWdp
c3RlcnNdID0geyByZWdUMCwgcmVnVDEsIHJlZ1QyLCByZWdUMywgcmVnVDQsIHJlZ1Q1LCByZWdU
NiwgcmVnVDcsIHJlZ0NTMSB9OworICAgICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ2lzdGVy
Rm9ySW5kZXhbbnVtYmVyT2ZSZWdpc3RlcnNdID0geyByZWdUMCwgcmVnVDEsIHJlZ1QyLCByZWdU
MywgcmVnVDQsIHJlZ1Q1LCByZWdUNiwgcmVnVDcsIHJlZ0NTMCwgcmVnQ1MxIH07CiAgICAgICAg
IHJldHVybiByZWdpc3RlckZvckluZGV4W2luZGV4XTsKICAgICB9CiAKQEAgLTU4Myw3ICs1ODMs
NyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVChyZWcgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAg
ICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KHJlZykgPCAxNik7CiAgICAgICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBpbmRleEZvclJlZ2lzdGVyWzE2XSA9Ci0gICAgICAgICAgICB7IDAsIDEs
IDIsIDMsIDcsIDYsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA4LCBJbnZhbGlk
SW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJ
bmRleCB9OworICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA3LCA2LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCwgNCwgNSwgOSwgOCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFs
aWRJbmRleCwgSW52YWxpZEluZGV4IH07CiAgICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IGluZGV4
Rm9yUmVnaXN0ZXJbcmVnXTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCmluZGV4IGM1MjlkNzRhZmVjOGVhODY2
YzA4NjQ2NDk1NGJmNzlhMTA4YjNkOTEuLjY0NmNkNGY5MzUyZTc0MGVlYTllNjI0NjEzZGEyNjQy
ZGZjYjZjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJT
ZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCkBA
IC0yNTQsNiArMjU0LDcgQEAgUmVnaXN0ZXJTZXQgUmVnaXN0ZXJTZXQ6OmRmZ0NhbGxlZVNhdmVS
ZWdpc3RlcnMoKQogICAgIHJlc3VsdC5zZXQoR1BSSW5mbzo6cmVnQ1M2KTsKICNlbmRpZgogI2Vs
aWYgQ1BVKEFSTV9USFVNQjIpCisgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdDUzApOwogICAg
IHJlc3VsdC5zZXQoR1BSSW5mbzo6cmVnQ1MxKTsKICNlbGlmIENQVShBUk02NCkKICAgICBzdGF0
aWNfYXNzZXJ0KEdQUkluZm86OnJlZ0NTOCA9PSBHUFJJbmZvOjpudW1iZXJUYWdSZWdpc3Rlciwg
IiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjMyXzY0LmFzbQppbmRleCA1MGQ1ZGJkZjYwMmE5MTk2YmQ1Y2E1MTk0MDI2NGZm
ZDg5ZDcwNmI0Li5lNjg5N2RhZjJlMjlhMmFjODc5MjFmMGNiYWZjMzFiOWEyMTg3MDc2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMy
XzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjMyXzY0LmFzbQpAQCAtNzksOCArNzksNiBAQCBlbmQKICMgQWZ0ZXIgY2FsbGluZywgY2Fs
bGluZyBieXRlY29kZSBpcyBjbGFpbWluZyBpbnB1dCByZWdpc3RlcnMgYXJlIG5vdCB1c2VkLgog
bWFjcm8gZGlzcGF0Y2hBZnRlckNhbGwoc2l6ZSwgb3Bjb2RlU3RydWN0LCB2YWx1ZVByb2ZpbGVO
YW1lLCBkc3RWaXJ0dWFsUmVnaXN0ZXIsIGRpc3BhdGNoKQogICAgIGxvYWRpIEFyZ3VtZW50Q291
bnRJbmNsdWRpbmdUaGlzICsgVGFnT2Zmc2V0W2Nmcl0sIFBDCi0gICAgbG9hZHAgQ29kZUJsb2Nr
W2Nmcl0sIFBCCi0gICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1Jhd1BvaW50ZXJb
UEJdLCBQQgogICAgIGdldChzaXplLCBvcGNvZGVTdHJ1Y3QsIGRzdFZpcnR1YWxSZWdpc3Rlciwg
dDMpCiAgICAgc3RvcmVpIHIxLCBUYWdPZmZzZXRbY2ZyLCB0MywgOF0KICAgICBzdG9yZWkgcjAs
IFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440262</attachid>
            <date>2021-10-05 14:05:43 -0700</date>
            <delta_ts>2021-10-07 02:56:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20211005220541.patch</filename>
            <type>text/plain</type>
            <size>19909</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MmRhMzk3ZDEzZTIzMjRhNDMzNTExNTA4MzRmYTMxNWZlNWZhMmI2Li5lODY5ZjMzZjJiNGI2OGZl
MWQ4NzY1MTNiNjliMzQyNWE0NDcxMmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMS0xMC0wNSAgR2V6YSBMb3JlICA8Z2V6YWxvcmVAZ21haWwuY29tPgor
CisgICAgICAgIEFsbG93IERGRyB0byB1c2UgcmVnQ1MwIEdQUiAoTExJbnQgbWV0YWRhdGFUYWJs
ZSkgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRoaXMgaW5jcmVhc2VzIHRoZSBhdmFpbGFibGUgcmVnaXN0ZXJzIG9uIEFSTXY3IHRvIDEw
LiBGb3IgdGhpcyB0bworICAgICAgICB3b3JrIHByb3Blcmx5IEkgbmVlZGVkIHRvIHRlYWNoIENh
bGxGcmFtZVNodWZmbGVyICh3aGljaCBpcyB1c2VkCisgICAgICAgIGZvciBzaHVmZmxpbmcgc3Rh
Y2sgZnJhbWVzIGZvciB0YWlsIGNhbGxzKSBob3cgdG8gcmVzdG9yZSBDU1JzIG9uCisgICAgICAg
IDMyLWJpdCBhcmNoaXRlY3R1cmVzLgorCisgICAgICAgIFRoaXMgYWxzbyBmaXhlcyBzb21lIDMy
LWJpdCBpc3N1ZXMgaW50cm9kdWNlZCBieSB0aGUgcmVjZW50IHVubGlua2VkCisgICAgICAgIGJh
c2VsaW5lIEpJVC4KKworICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwOgorICAg
ICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5OjpkdW1wSW5Db250ZXh0IGNvbnN0KToKKyAgICAgICAg
KiBieXRlY29kZS9WYWx1ZVJlY292ZXJ5Lmg6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6
OmNhbGxlZVNhdmVSZWdEaXNwbGFjZWRJbkpTU3RhY2spOgorICAgICAgICAoSlNDOjpWYWx1ZVJl
Y292ZXJ5Ojppc0luSlNTdGFjayBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6
OmRhdGFGb3JtYXQgY29uc3QpOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojp3aXRoTG9j
YWxzT2Zmc2V0IGNvbnN0KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAg
ICAgKiBqaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwOgorICAgICAgICAoSlNDOjpDYWNoZWRSZWNvdmVy
eTo6bG9hZHNJbnRvR1BSIGNvbnN0KToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURh
dGEuY3BwOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlRGF0YTo6c2V0dXBDYWxsZWVT
YXZlUmVnaXN0ZXJzKToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaDoKKyAg
ICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwOgorICAgICAgICAoSlNDOjpDYWxsRnJh
bWVTaHVmZmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVT
aHVmZmxlci5oOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6c25hcHNob3QgY29u
c3QpOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6YWRkTmV3KToKKyAgICAgICAg
KiBqaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFt
ZVNodWZmbGVyOjplbWl0TG9hZCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjpl
bWl0RGlzcGxhY2UpOgorICAgICAgICAqIGppdC9HUFJJbmZvLmg6CisgICAgICAgIChKU0M6OkdQ
UkluZm86OnRvUmVnaXN0ZXIpOgorICAgICAgICAoSlNDOjpHUFJJbmZvOjp0b0luZGV4KToKKyAg
ICAgICAgKiBqaXQvUmVnaXN0ZXJTZXQuY3BwOgorICAgICAgICAoSlNDOjpSZWdpc3RlclNldDo6
ZGZnQ2FsbGVlU2F2ZVJlZ2lzdGVycyk6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjMyXzY0LmFzbToKKwogMjAyMS0xMC0wNSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgQ29kZUJsb2NrIHNob3VsZCBub3QgYWRkL3JlbW92ZSBMb29wSGludEV4
ZWN1dGlvbkNvdW50ZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1ZhbHVlUmVjb3ZlcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Zh
bHVlUmVjb3ZlcnkuY3BwCmluZGV4IGU0MjQ1ZWFiZWMzZTMyMjRhNWRhNWZmNzUyNWI1NWRjOWNh
NzAxNjYuLjA4OTYyM2I2ZjRkZjgzOWM1NjRiYWMyYmY0NjEwZWI3N2U1NzMzMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKQEAgLTk5
LDYgKzk5LDExIEBAIHZvaWQgVmFsdWVSZWNvdmVyeTo6ZHVtcEluQ29udGV4dChQcmludFN0cmVh
bSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkgY29uc3QKICAgICBjYXNlIEludDMyRGlzcGxh
Y2VkSW5KU1N0YWNrOgogICAgICAgICBvdXQucHJpbnQoIippbnQzMigiLCB2aXJ0dWFsUmVnaXN0
ZXIoKSwgIikiKTsKICAgICAgICAgcmV0dXJuOworI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAg
Y2FzZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyAgICAgICAgb3V0LnByaW50KCIqaW50
MzJUYWcoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CisgICAgICAgIHJldHVybjsKKyNlbmRp
ZgogICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIG91dC5wcmludCgi
KmludDUyKCIsIHZpcnR1YWxSZWdpc3RlcigpLCAiKSIpOwogICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAppbmRleCA1ZTQz
YmM3MmJiY2M0ZmY5N2E2OGY4M2RhODMwOTRlNThkYTNiMzE0Li4wODIyNGVkN2NhNWI1OGYxNWNk
OWUxYzAzNmJmZTUzZGZiOGFjMzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9WYWx1ZVJlY292ZXJ5LmgKQEAgLTYwLDYgKzYwLDkgQEAgZW51bSBWYWx1ZVJlY292ZXJ5
VGVjaG5pcXVlIDogdWludDhfdCB7CiAgICAgRGlzcGxhY2VkSW5KU1N0YWNrLAogICAgIC8vIEl0
J3MgaW4gdGhlIHN0YWNrLCBhdCBhIGRpZmZlcmVudCBsb2NhdGlvbiwgYW5kIGl0J3MgdW5ib3hl
ZC4KICAgICBJbnQzMkRpc3BsYWNlZEluSlNTdGFjaywKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQor
ICAgIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrLCAvLyBpbnQzMiBzdG9yZWQgaW4gdGFnIGZp
ZWxkCisjZW5kaWYKICAgICBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjaywKICAgICBTdHJpY3RJbnQ1
MkRpc3BsYWNlZEluSlNTdGFjaywKICAgICBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2ssCkBAIC0x
ODcsNyArMTkwLDE5IEBAIHB1YmxpYzoKICAgICAgICAgcmVzdWx0Lm1fc291cmNlID0gV1RGTW92
ZSh1KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNpZiBVU0UoSlNW
QUxVRTMyXzY0KQorICAgIHN0YXRpYyBWYWx1ZVJlY292ZXJ5IGNhbGxlZVNhdmVSZWdEaXNwbGFj
ZWRJbkpTU3RhY2soVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWcsIGJvb2wgaW5UYWcpCisgICAg
eworICAgICAgICBWYWx1ZVJlY292ZXJ5IHJlc3VsdDsKKyAgICAgICAgVW5pb25UeXBlIHU7Cisg
ICAgICAgIHUudmlydHVhbFJlZyA9IHZpcnR1YWxSZWcub2Zmc2V0KCk7CisgICAgICAgIHJlc3Vs
dC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CisgICAgICAgIHJlc3VsdC5tX3RlY2huaXF1ZSA9IGlu
VGFnID8gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2sgOiBJbnQzMkRpc3BsYWNlZEluSlNTdGFj
azsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAgIHN0YXRpYyBW
YWx1ZVJlY292ZXJ5IGNvbnN0YW50KEpTVmFsdWUgdmFsdWUpCiAgICAgewogICAgICAgICBWYWx1
ZVJlY292ZXJ5IHJlc3VsdDsKQEAgLTI1OCw2ICsyNzMsOSBAQCBwdWJsaWM6CiAgICAgICAgIHN3
aXRjaCAobV90ZWNobmlxdWUpIHsKICAgICAgICAgY2FzZSBEaXNwbGFjZWRJbkpTU3RhY2s6CiAg
ICAgICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6CisjaWYgVVNFKEpTVkFMVUUzMl82
NCkKKyAgICAgICAgY2FzZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyNlbmRpZgogICAg
ICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIFN0cmljdElu
dDUyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIERvdWJsZURpc3BsYWNlZEluSlNT
dGFjazoKQEAgLTI4Miw2ICszMDAsOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gRGF0
YUZvcm1hdEpTOwogICAgICAgICBjYXNlIFVuYm94ZWRJbnQzMkluR1BSOgogICAgICAgICBjYXNl
IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAg
IGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgICAgIHJl
dHVybiBEYXRhRm9ybWF0SW50MzI7CiAgICAgICAgIGNhc2UgVW5ib3hlZEludDUySW5HUFI6CiAg
ICAgICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0zNTgsNiArMzc5LDkgQEAg
cHVibGljOgogICAgICAgICBzd2l0Y2ggKG1fdGVjaG5pcXVlKSB7CiAgICAgICAgIGNhc2UgRGlz
cGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgor
I2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpT
U3RhY2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CiAg
ICAgICAgIGNhc2UgQ2VsbERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2FzZSBCb29sZWFu
RGlzcGxhY2VkSW5KU1N0YWNrOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggNmVmYmNlZGRiYzBhZmI2OTM4ODJmYTMy
NjA3YTNhNzdiNjk3OWRlNS4uNWU1MGZhYzJkMWMwMDE0ZGQzMzhjOGU5MTllNjAwZDNmMDNlZTBi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCkBAIC03NDIsNiArNzQyLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1p
dENhbGwoTm9kZSogbm9kZSkKICAgICAgICAgICAgIAogICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gbnVtUGFzc2VkQXJnczsgaSA8IG51bUFsbG9jYXRlZEFyZ3M7ICsraSkKICAgICAgICAg
ICAgICAgICBzaHVmZmxlRGF0YS5hcmdzW2ldID0gVmFsdWVSZWNvdmVyeTo6Y29uc3RhbnQoanNV
bmRlZmluZWQoKSk7CisKKyAgICAgICAgICAgIHNodWZmbGVEYXRhLnNldHVwQ2FsbGVlU2F2ZVJl
Z2lzdGVycyhtX2ppdC5jb2RlQmxvY2soKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAg
ICBtX2ppdC5zdG9yZTMyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIobnVtUGFzc2VkQXJn
cyksIG1faml0LmNhbGxlZUZyYW1lUGF5bG9hZFNsb3QoQ2FsbEZyYW1lU2xvdDo6YXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMpKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQ2FjaGVkUmVjb3ZlcnkuY3BwCmluZGV4IGY0YWFjYzZjODBlZTU1MDkwODQ3Nzg1MzZlYzdi
MDg2YzE4ODIzMDMuLjAwZTcxZjQ4N2RiMzJhOGNkZDE2ZTU2MjAyMzMxYzUxZmI5MWUwMTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwCkBAIC01Miw3
ICs1Miw5IEBAIGJvb2wgQ2FjaGVkUmVjb3Zlcnk6OmxvYWRzSW50b0dQUigpIGNvbnN0CiB7CiAg
ICAgc3dpdGNoIChyZWNvdmVyeSgpLnRlY2huaXF1ZSgpKSB7CiAgICAgY2FzZSBJbnQzMkRpc3Bs
YWNlZEluSlNTdGFjazoKLSNpZiBVU0UoSlNWQUxVRTY0KQorI2lmIFVTRShKU1ZBTFVFMzJfNjQp
CisgICAgY2FzZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyNlbGlmIFVTRShKU1ZBTFVF
NjQpCiAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICBjYXNlIFN0cmljdElu
dDUyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgIGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmNwcApp
bmRleCAzMmQ2ZTRjMGIzNmJmZDYxZDE1MDUyZjg1YTEyY2FlY2UzYmJiNTUyLi5jZjE1Y2UxOTll
ZDM3NmFmMTUwZTg4N2YzZWVkMDJmYTE1ZGM3YjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmNwcApAQCAtMzMsOCArMzMsNiBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAotI2lmIFVTRShKU1ZBTFVFNjQpCi0KIHZvaWQgQ2FsbEZyYW1l
U2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhDb2RlQmxvY2sqIGNvZGVCbG9j
aykKIHsKICAgICBzZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMoY29kZUJsb2NrLT5jYWxsZWVTYXZl
UmVnaXN0ZXJzKCkpOwpAQCAtNDksOSArNDcsMjQgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlRGF0
YTo6c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKGNvbnN0IFJlZ2lzdGVyQXRPZmZzZXRMaXN0Kgog
ICAgICAgICBpZiAoIWNhbGxlZVNhdmVSZWdpc3RlcnMuZ2V0KGVudHJ5LnJlZygpKSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7IGVu
dHJ5Lm9mZnNldEFzSW5kZXgoKSB9OworICAgICAgICBpbnQgc2F2ZVNsb3RJbmRleEluQ1BVUmVn
aXN0ZXJzID0gZW50cnkub2Zmc2V0QXNJbmRleCgpOworCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAg
ICAgICAgLy8gQ1BVIHJlZ2lzdGVycyBhcmUgdGhlIHNhbWUgc2l6ZSBhcyB2aXJ0dWFsIHJlZ2lz
dGVycworICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4SW5D
UFVSZWdpc3RlcnMgfTsKICAgICAgICAgcmVnaXN0ZXJzW2VudHJ5LnJlZygpXQogICAgICAgICAg
ICAgPSBWYWx1ZVJlY292ZXJ5OjpkaXNwbGFjZWRJbkpTU3RhY2soc2F2ZVNsb3QsIERhdGFGb3Jt
YXRKUyk7CisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAvLyBPbiAzMi1iaXQgYXJj
aGl0ZWN0dXJlcywgMiBjYWxsZWUgc2F2ZWQgcmVnaXN0ZXJzIG1heSBiZSBwYWNrZWQgaW50byB0
aGUgc2FtZSBzbG90CisgICAgICAgIHN0YXRpY19hc3NlcnQoIVBheWxvYWRPZmZzZXQgfHwgIVRh
Z09mZnNldCk7CisgICAgICAgIHN0YXRpY19hc3NlcnQoUGF5bG9hZE9mZnNldCA9PSA0IHx8IFRh
Z09mZnNldCA9PSA0KTsKKyAgICAgICAgYm9vbCBpblRhZyA9IChzYXZlU2xvdEluZGV4SW5DUFVS
ZWdpc3RlcnMgJiAxKSA9PSAhIVRhZ09mZnNldDsKKyAgICAgICAgaWYgKHNhdmVTbG90SW5kZXhJ
bkNQVVJlZ2lzdGVycyA8IDApCisgICAgICAgICAgICBzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3Rl
cnMgLT0gMTsgLy8gUm91bmQgdG93YXJkcyAtaW5mCisgICAgICAgIFZpcnR1YWxSZWdpc3RlciBz
YXZlU2xvdCB7IHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyAvIDIgfTsKKyAgICAgICAgcmVn
aXN0ZXJzW2VudHJ5LnJlZygpXQorICAgICAgICAgICAgPSBWYWx1ZVJlY292ZXJ5OjpjYWxsZWVT
YXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKHNhdmVTbG90LCBpblRhZyk7CisjZW5kaWYKICAgICB9
CiAKICAgICBmb3IgKFJlZyByZWcgPSBSZWc6OmZpcnN0KCk7IHJlZyA8PSBSZWc6Omxhc3QoKTsg
cmVnID0gcmVnLm5leHQoKSkgewpAQCAtNjEsMTIgKzc0LDE0IEBAIHZvaWQgQ2FsbEZyYW1lU2h1
ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhjb25zdCBSZWdpc3RlckF0T2Zmc2V0
TGlzdCoKICAgICAgICAgaWYgKHJlZ2lzdGVyc1tyZWddKQogICAgICAgICAgICAgY29udGludWU7
CiAKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICByZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVj
b3Zlcnk6OmluUmVnaXN0ZXIocmVnLCBEYXRhRm9ybWF0SlMpOworI2VsaWYgVVNFKEpTVkFMVUUz
Ml82NCkKKyAgICAgICAgcmVnaXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjppblJlZ2lzdGVy
KHJlZywgRGF0YUZvcm1hdEludDMyKTsKKyNlbmRpZgogICAgIH0KIH0KIAotI2VuZGlmIC8vIFVT
RShKU1ZBTFVFNjQpCi0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRU5BQkxFKEpJ
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZURhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEu
aAppbmRleCBjNmI3MGYwNWQxMDliMTg1ZjRkMTJiYzcwOWY4Zjc2N2NiYmYxZjM3Li4zMzY1N2Uz
M2E2NGYzNzgxZjQzMDk5OGMxMzMzNzFhMWFhNjRiNzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5oCkBAIC00NCwxMyArNDQsMTMgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIG51bUxvY2FscyB7IFVJTlRfTUFYIH07CiAgICAgdW5zaWdu
ZWQgbnVtUGFzc2VkQXJncyB7IFVJTlRfTUFYIH07CiAgICAgdW5zaWduZWQgbnVtUGFyYW1ldGVy
cyB7IFVJTlRfTUFYIH07IC8vIE9uIG91ciBtYWNoaW5lIGZyYW1lLgotI2lmIFVTRShKU1ZBTFVF
NjQpCiAgICAgUmVnaXN0ZXJNYXA8VmFsdWVSZWNvdmVyeT4gcmVnaXN0ZXJzOworI2lmIFVTRShK
U1ZBTFVFNjQpCiAgICAgR1BSUmVnIG51bWJlclRhZ1JlZ2lzdGVyIHsgSW52YWxpZEdQUlJlZyB9
OworI2VuZGlmCiAKICAgICB2b2lkIHNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhDb2RlQmxvY2sq
KTsKICAgICB2b2lkIHNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhjb25zdCBSZWdpc3RlckF0T2Zm
c2V0TGlzdCopOwotI2VuZGlmCiAgICAgVmFsdWVSZWNvdmVyeSBjYWxsZWU7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCmluZGV4IDNi
NTM3NGRhMTY2ZmY3MTk5ZjVmYWU0NTVhYTY2NjNlYmRlZTUzZDUuLjkzMGFiYTIxMjYwM2RjNmJh
MzdmNDllOTIwOWIzZDljMmE1YmRkM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCkBAIC01MiwxMyArNTIsOCBAQCBDYWxsRnJhbWVTaHVm
Zmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IENhbGxGcmFt
ZVNodWZmbGVEYQogICAgIGZvciAodW5zaWduZWQgaSA9IEZQUkluZm86Om51bWJlck9mUmVnaXN0
ZXJzOyBpLS07ICkKICAgICAgICAgbV9sb2NrZWRSZWdpc3RlcnMuY2xlYXIoRlBSSW5mbzo6dG9S
ZWdpc3RlcihpKSk7CiAKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIC8vIC4uLiBhcyB3ZWxsIGFz
IHRoZSBydW50aW1lIHJlZ2lzdGVycyBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KLSAgICAvLyBI
b3dldmVyIGRvIG5vdCB1c2UgdGhlc2UgcmVnaXN0ZXJzIG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVz
IHNpbmNlCi0gICAgLy8gc2F2aW5nIGFuZCByZXN0b3JpbmcgY2FsbGVlLXNhdmVkIHJlZ2lzdGVy
cyBpbiBDYWxsRnJhbWVTaHVmZmxlciBpc24ndCBzdXBwb3J0ZWQKLSAgICAvLyBvbiAzMi1iaXQg
YXJjaGl0ZWN0dXJlcyB5ZXQuCisgICAgLy8gLi4uIGFzIHdlbGwgYXMgdGhlIGNhbGxlZSBzYXZl
ZCByZWdpc3RlcnMKICAgICBtX2xvY2tlZFJlZ2lzdGVycy5leGNsdWRlKFJlZ2lzdGVyU2V0Ojp2
bUNhbGxlZVNhdmVSZWdpc3RlcnMoKSk7Ci0jZW5kaWYKIAogICAgIEFTU0VSVCghZGF0YS5jYWxs
ZWUuaXNJbkpTU3RhY2soKSB8fCBkYXRhLmNhbGxlZS52aXJ0dWFsUmVnaXN0ZXIoKS5pc0xvY2Fs
KCkpOwogICAgIGFkZE5ldyhDYWxsRnJhbWVTbG90OjpjYWxsZWUsIGRhdGEuY2FsbGVlKTsKQEAg
LTY4LDE3ICs2MywyMSBAQCBDYWxsRnJhbWVTaHVmZmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIoQ0Nh
bGxIZWxwZXJzJiBqaXQsIGNvbnN0IENhbGxGcmFtZVNodWZmbGVEYQogICAgICAgICBhZGROZXco
dmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnRJbmNsdWRpbmdUaGlzKGkpLCBkYXRhLmFyZ3NbaV0p
OwogICAgIH0KIAotI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgZm9yIChSZWcgcmVnID0gUmVnOjpm
aXJzdCgpOyByZWcgPD0gUmVnOjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0KCkpIHsKICAgICAgICAg
aWYgKCFkYXRhLnJlZ2lzdGVyc1tyZWddLmlzU2V0KCkpCiAgICAgICAgICAgICBjb250aW51ZTsK
IAotICAgICAgICBpZiAocmVnLmlzR1BSKCkpCisgICAgICAgIGlmIChyZWcuaXNHUFIoKSkgewor
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgICAgICBhZGROZXcoSlNWYWx1ZVJlZ3MocmVnLmdw
cigpKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7Ci0gICAgICAgIGVsc2UKKyNlbGlmIFVTRShKU1ZB
TFVFMzJfNjQpCisgICAgICAgICAgICBhZGROZXcocmVnLmdwcigpLCBkYXRhLnJlZ2lzdGVyc1ty
ZWddKTsKKyNlbmRpZgorICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGFkZE5ldyhyZWcuZnBy
KCksIGRhdGEucmVnaXN0ZXJzW3JlZ10pOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFNjQpCiAg
ICAgbV9udW1iZXJUYWdSZWdpc3RlciA9IGRhdGEubnVtYmVyVGFnUmVnaXN0ZXI7CiAgICAgaWYg
KG1fbnVtYmVyVGFnUmVnaXN0ZXIgIT0gSW52YWxpZEdQUlJlZykKICAgICAgICAgbG9ja0dQUiht
X251bWJlclRhZ1JlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQ2FsbEZyYW1lU2h1ZmZsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZy
YW1lU2h1ZmZsZXIuaAppbmRleCBlMDQ4YTRkY2E2NjY1Njk5MWEwNDNhZTk0YjgwMGJiMTE0MTYw
YjBjLi5hMTc2MjQ0ZTFlMzA5NTY2NzczNDYwYWQyMDY1MGUxOWJjM2RhZDY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oCkBAIC0xMTYsNiArMTE2
LDE1IEBAIHB1YmxpYzoKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgICAgICBkYXRhLnJl
Z2lzdGVyc1tyZWddID0gY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCk7CisjZWxpZiBVU0UoSlNW
QUxVRTMyXzY0KQorICAgICAgICAgICAgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSA9IGNhY2hlZFJl
Y292ZXJ5LT5yZWNvdmVyeSgpOworICAgICAgICAgICAgaWYgKHJlY292ZXJ5LnRlY2huaXF1ZSgp
ID09IERpc3BsYWNlZEluSlNTdGFjaykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzIHdh
bnRlZEpTVmFsdWVSZWcgPSBjYWNoZWRSZWNvdmVyeS0+d2FudGVkSlNWYWx1ZVJlZ3MoKTsKKyAg
ICAgICAgICAgICAgICBBU1NFUlQocmVnID09IHdhbnRlZEpTVmFsdWVSZWcucGF5bG9hZEdQUigp
IHx8IHJlZyA9PSB3YW50ZWRKU1ZhbHVlUmVnLnRhZ0dQUigpKTsKKyAgICAgICAgICAgICAgICBi
b29sIGluVGFnID0gcmVnID09IHdhbnRlZEpTVmFsdWVSZWcudGFnR1BSKCk7CisgICAgICAgICAg
ICAgICAgZGF0YS5yZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6OmNhbGxlZVNhdmVSZWdE
aXNwbGFjZWRJbkpTU3RhY2socmVjb3ZlcnkudmlydHVhbFJlZ2lzdGVyKCksIGluVGFnKTsKKyAg
ICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSBy
ZWNvdmVyeTsKICNlbHNlCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogI2VuZGlmCkBAIC02NjMsNiArNjcyLDMyIEBAIHByaXZhdGU6CiAgICAgICAgIGNhY2hlZFJl
Y292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhqc1ZhbHVlUmVncyk7CiAgICAgfQogCisjaWYg
VVNFKEpTVkFMVUUzMl82NCkKKyAgICB2b2lkIGFkZE5ldyhHUFJSZWcgZ3ByLCBWYWx1ZVJlY292
ZXJ5IHJlY292ZXJ5KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdwciAhPSBJbnZhbGlkR1BSUmVn
ICYmICFtX25ld1JlZ2lzdGVyc1tncHJdKTsKKyAgICAgICAgQVNTRVJUKHJlY292ZXJ5LnRlY2hu
aXF1ZSgpID09IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrCisgICAgICAgICAgICB8fCByZWNvdmVy
eS50ZWNobmlxdWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjayk7CisgICAgICAgIENh
Y2hlZFJlY292ZXJ5KiBjYWNoZWRSZWNvdmVyeSA9IGFkZENhY2hlZFJlY292ZXJ5KHJlY292ZXJ5
KTsKKyAgICAgICAgaWYgKEpTVmFsdWVSZWdzIG9sZFJlZ3MgeyBjYWNoZWRSZWNvdmVyeS0+d2Fu
dGVkSlNWYWx1ZVJlZ3MoKSB9KSB7CisgICAgICAgICAgICAvLyBDb21iaW5lIHdpdGggdGhlIG90
aGVyIENTUiBpbiB0aGUgc2FtZSB2aXJ0dWFsIHJlZ2lzdGVyIHNsb3QKKyAgICAgICAgICAgIEFT
U0VSVChvbGRSZWdzLnRhZ0dQUigpID09IEludmFsaWRHUFJSZWcpOworICAgICAgICAgICAgQVNT
RVJUKG9sZFJlZ3MucGF5bG9hZEdQUigpICE9IEludmFsaWRHUFJSZWcgJiYgb2xkUmVncy5wYXls
b2FkR1BSKCkgIT0gZ3ByKTsKKyAgICAgICAgICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSA9
PSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjaykgeworICAgICAgICAgICAgICAgIEFTU0VSVChjYWNo
ZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNlZElu
SlNTdGFjayk7CisgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpTVmFs
dWVSZWdzKEpTVmFsdWVSZWdzKG9sZFJlZ3MucGF5bG9hZEdQUigpLCBncHIpKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGNhY2hlZFJlY292ZXJ5LT5yZWNv
dmVyeSgpLnRlY2huaXF1ZSgpID09IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrKTsKKyAgICAgICAg
ICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJlZ3Mo
Z3ByLCBvbGRSZWdzLnBheWxvYWRHUFIoKSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
Y2FjaGVkUmVjb3ZlcnktPnNldFJlY292ZXJ5KAorICAgICAgICAgICAgICAgIFZhbHVlUmVjb3Zl
cnk6OmRpc3BsYWNlZEluSlNTdGFjayhyZWNvdmVyeS52aXJ0dWFsUmVnaXN0ZXIoKSwgRGF0YUZv
cm1hdEpTKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNl
dFdhbnRlZEpTVmFsdWVSZWdzKEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShncHIpKTsKKyAgICAg
ICAgbV9uZXdSZWdpc3RlcnNbZ3ByXSA9IGNhY2hlZFJlY292ZXJ5OworICAgIH0KKyNlbmRpZgor
CiAgICAgdm9pZCBhZGROZXcoRlBSUmVnIGZwciwgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChmcHIgIT0gSW52YWxpZEZQUlJlZyAmJiAhbV9uZXdSZWdpc3Rl
cnNbZnByXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFt
ZVNodWZmbGVyMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVT
aHVmZmxlcjMyXzY0LmNwcAppbmRleCA1ZGZlOTZlODFlYzlmNmZhOWY3N2EwZDY1MTU2NzI1M2Ix
NmU3NjA5Li4yZmVmNTNkYTYwYTJlNzVhNDdjNjRmOGQzMDQwYzQ2MjIyYmI4OGVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5j
cHAKQEAgLTEyNCw4ICsxMjQsMTEgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlcjo6ZW1pdExvYWQo
Q2FjaGVkUmVjb3ZlcnkmIGxvY2F0aW9uKQogICAgICAgICBpZiAocmVzdWx0R1BSID09IEludmFs
aWRHUFJSZWcgfHwgbV9yZWdpc3RlcnNbcmVzdWx0R1BSXSB8fCBtX2xvY2tlZFJlZ2lzdGVycy5n
ZXQocmVzdWx0R1BSKSkKICAgICAgICAgICAgIHJlc3VsdEdQUiA9IGdldEZyZWVHUFIoKTsKICAg
ICAgICAgQVNTRVJUKHJlc3VsdEdQUiAhPSBJbnZhbGlkR1BSUmVnKTsKLSAgICAgICAgbV9qaXQu
bG9hZFB0cihhZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJlc3VsdEdQUik7Ci0g
ICAgICAgIHVwZGF0ZVJlY292ZXJ5KGxvY2F0aW9uLCAKKyAgICAgICAgaWYgKGxvY2F0aW9uLnJl
Y292ZXJ5KCkudGVjaG5pcXVlKCkgPT0gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2spCisgICAg
ICAgICAgICBtX2ppdC5sb2FkUHRyKGFkZHJlc3Mud2l0aE9mZnNldChUYWdPZmZzZXQpLCByZXN1
bHRHUFIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2ppdC5sb2FkUHRyKGFkZHJlc3Mu
d2l0aE9mZnNldChQYXlsb2FkT2Zmc2V0KSwgcmVzdWx0R1BSKTsKKyAgICAgICAgdXBkYXRlUmVj
b3ZlcnkobG9jYXRpb24sCiAgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5OjppbkdQUihyZXN1bHRH
UFIsIGxvY2F0aW9uLnJlY292ZXJ5KCkuZGF0YUZvcm1hdCgpKSk7CiAgICAgICAgIGlmICh2ZXJi
b3NlKQogICAgICAgICAgICAgZGF0YUxvZyhsb2NhdGlvbi5yZWNvdmVyeSgpLCAiXG4iKTsKQEAg
LTE5MCwyOCArMTkzLDE4IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXREaXNwbGFjZShD
YWNoZWRSZWNvdmVyeSYgbG9jYXRpb24pCiAgICAgaWYgKHdhbnRlZFRhZ0dQUiAhPSBJbnZhbGlk
R1BSUmVnKSB7CiAgICAgICAgIEFTU0VSVCghbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHdhbnRlZFRh
Z0dQUikpOwogICAgICAgICBpZiAoQ2FjaGVkUmVjb3ZlcnkqIGN1cnJlbnRUYWcgeyBtX3JlZ2lz
dGVyc1t3YW50ZWRUYWdHUFJdIH0pIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50VGFnID09ICZs
b2NhdGlvbikgewotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAg
ICAgICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFRhZ0dQUiwgIiBpcyBPS1xuIik7Ci0gICAgICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIFRoaXMgY2FuIG5ldmVyIGhhcHBlbiBv
biAzMmJpdCBwbGF0Zm9ybXMgc2luY2Ugd2UKLSAgICAgICAgICAgICAgICAvLyBoYXZlIGF0IG1v
c3Qgb25lIHdhbnRlZCBKU1ZhbHVlUmVncywgZm9yIHRoZQotICAgICAgICAgICAgICAgIC8vIGNh
bGxlZSwgYW5kIG5vIGNhbGxlZS1zYXZlIHJlZ2lzdGVycy4KLSAgICAgICAgICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgUkVM
RUFTRV9BU1NFUlQoY3VycmVudFRhZyA9PSAmbG9jYXRpb24pOworICAgICAgICAgICAgaWYgKHZl
cmJvc2UpCisgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRUYWdHUFIsICIg
aXMgT0tcbiIpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKHdhbnRlZFBheWxvYWRHUFIg
IT0gSW52YWxpZEdQUlJlZykgewogICAgICAgICBBU1NFUlQoIW1fbG9ja2VkUmVnaXN0ZXJzLmdl
dCh3YW50ZWRQYXlsb2FkR1BSKSk7CiAgICAgICAgIGlmIChDYWNoZWRSZWNvdmVyeSogY3VycmVu
dFBheWxvYWQgeyBtX3JlZ2lzdGVyc1t3YW50ZWRQYXlsb2FkR1BSXSB9KSB7Ci0gICAgICAgICAg
ICBpZiAoY3VycmVudFBheWxvYWQgPT0gJmxvY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAgaWYg
KHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2FudGVkUGF5
bG9hZEdQUiwgIiBpcyBPS1xuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
ICAgIC8vIFNlZSBhYm92ZQotICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50
UGF5bG9hZCA9PSAmbG9jYXRpb24pOworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAg
ICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRQYXlsb2FkR1BSLCAiIGlzIE9LXG4iKTsK
ICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9HUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAppbmRleCA1
ZmY2MjQ3NDFhYjcwZThjMDQzNWJkZjlkMjViMTkxNDYwMzgxZDllLi4yZjdjZjVhYmJiMzk5Y2E3
NDQzZWFjODMyMDMyZjZjMDczYjQyYmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0dQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8u
aApAQCAtNTM4LDcgKzUzOCw3IEBAIHB1YmxpYzoKIGNsYXNzIEdQUkluZm8gewogcHVibGljOgog
ICAgIHR5cGVkZWYgR1BSUmVnIFJlZ2lzdGVyVHlwZTsKLSAgICBzdGF0aWMgY29uc3RleHByIHVu
c2lnbmVkIG51bWJlck9mUmVnaXN0ZXJzID0gOTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVuc2ln
bmVkIG51bWJlck9mUmVnaXN0ZXJzID0gMTA7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25l
ZCBudW1iZXJPZkFyZ3VtZW50UmVnaXN0ZXJzID0gTlVNQkVSX09GX0FSR1VNRU5UX1JFR0lTVEVS
UzsKIAogICAgIC8vIFRlbXBvcmFyeSByZWdpc3RlcnMuCkBAIC01NjcsNyArNTY3LDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBHUFJSZWcgdG9SZWdpc3Rlcih1bnNpZ25lZCBpbmRleCkKICAgICB7
CiAgICAgICAgIEFTU0VSVChpbmRleCA8IG51bWJlck9mUmVnaXN0ZXJzKTsKLSAgICAgICAgc3Rh
dGljIGNvbnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9IHsg
cmVnVDAsIHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3LCBy
ZWdDUzEgfTsKKyAgICAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251
bWJlck9mUmVnaXN0ZXJzXSA9IHsgcmVnVDAsIHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCBy
ZWdUNSwgcmVnVDYsIHJlZ1Q3LCByZWdDUzAsIHJlZ0NTMSB9OwogICAgICAgICByZXR1cm4gcmVn
aXN0ZXJGb3JJbmRleFtpbmRleF07CiAgICAgfQogCkBAIC01ODMsNyArNTgzLDcgQEAgcHVibGlj
OgogICAgICAgICBBU1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwogICAgICAgICBBU1NFUlQo
c3RhdGljX2Nhc3Q8aW50PihyZWcpIDwgMTYpOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgaW5kZXhGb3JSZWdpc3RlclsxNl0gPQotICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA3LCA2
LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgNCwgNSwgOCwgSW52YWxpZEluZGV4LCBJbnZh
bGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKKyAg
ICAgICAgICAgIHsgMCwgMSwgMiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgs
IDQsIDUsIDksIDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCB9OwogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lzdGVy
W3JlZ107CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1JlZ2lzdGVyU2V0LmNwcAppbmRleCBjNTI5ZDc0YWZlYzhlYTg2NmMwODY0NjQ5NTRi
Zjc5YTEwOGIzZDkxLi42NDZjZDRmOTM1MmU3NDBlZWE5ZTYyNDYxM2RhMjY0MmRmY2I2YzAzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcApAQCAtMjU0LDYgKzI1
NCw3IEBAIFJlZ2lzdGVyU2V0IFJlZ2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKCkK
ICAgICByZXN1bHQuc2V0KEdQUkluZm86OnJlZ0NTNik7CiAjZW5kaWYKICNlbGlmIENQVShBUk1f
VEhVTUIyKQorICAgIHJlc3VsdC5zZXQoR1BSSW5mbzo6cmVnQ1MwKTsKICAgICByZXN1bHQuc2V0
KEdQUkluZm86OnJlZ0NTMSk7CiAjZWxpZiBDUFUoQVJNNjQpCiAgICAgc3RhdGljX2Fzc2VydChH
UFJJbmZvOjpyZWdDUzggPT0gR1BSSW5mbzo6bnVtYmVyVGFnUmVnaXN0ZXIsICIiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJf
NjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIz
Ml82NC5hc20KaW5kZXggNTBkNWRiZGY2MDJhOTE5NmJkNWNhNTE5NDAyNjRmZmQ4OWQ3MDZiNC4u
ZTY4OTdkYWYyZTI5YTJhYzg3OTIxZjBjYmFmYzMxYjlhMjE4NzA3NiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5h
c20KQEAgLTc5LDggKzc5LDYgQEAgZW5kCiAjIEFmdGVyIGNhbGxpbmcsIGNhbGxpbmcgYnl0ZWNv
ZGUgaXMgY2xhaW1pbmcgaW5wdXQgcmVnaXN0ZXJzIGFyZSBub3QgdXNlZC4KIG1hY3JvIGRpc3Bh
dGNoQWZ0ZXJDYWxsKHNpemUsIG9wY29kZVN0cnVjdCwgdmFsdWVQcm9maWxlTmFtZSwgZHN0Vmly
dHVhbFJlZ2lzdGVyLCBkaXNwYXRjaCkKICAgICBsb2FkaSBBcmd1bWVudENvdW50SW5jbHVkaW5n
VGhpcyArIFRhZ09mZnNldFtjZnJdLCBQQwotICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBQQgot
ICAgIGxvYWRwIENvZGVCbG9jazo6bV9pbnN0cnVjdGlvbnNSYXdQb2ludGVyW1BCXSwgUEIKICAg
ICBnZXQoc2l6ZSwgb3Bjb2RlU3RydWN0LCBkc3RWaXJ0dWFsUmVnaXN0ZXIsIHQzKQogICAgIHN0
b3JlaSByMSwgVGFnT2Zmc2V0W2NmciwgdDMsIDhdCiAgICAgc3RvcmVpIHIwLCBQYXlsb2FkT2Zm
c2V0W2NmciwgdDMsIDhdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440492</attachid>
            <date>2021-10-07 02:56:41 -0700</date>
            <delta_ts>2021-10-15 01:27:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20211007105640.patch</filename>
            <type>text/plain</type>
            <size>19905</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
ZmUzYWQ0ZWJiM2VhZDJhYjcwNmVlYzg1OTNjMTFiOWU2ODcyZTMxLi44MTA3MmNlYWI4MDJiYzlk
OGQ3ZjZkYThjOTUzZmZhZWNiNjk0NThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMS0xMC0wNyAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBBbGxvdyBERkcgdG8gdXNlIHJlZ0NTMCBHUFIgKExMSW50IG1ldGFkYXRhVGFibGUp
IG9uIEFSTXY3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzA2MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIGluY3JlYXNlcyB0aGUgYXZhaWxhYmxlIHJlZ2lzdGVycyBvbiBBUk12NyB0byAxMC4g
Rm9yIHRoaXMgdG8KKyAgICAgICAgd29yayBwcm9wZXJseSBJIG5lZWRlZCB0byB0ZWFjaCBDYWxs
RnJhbWVTaHVmZmxlciAod2hpY2ggaXMgdXNlZAorICAgICAgICBmb3Igc2h1ZmZsaW5nIHN0YWNr
IGZyYW1lcyBmb3IgdGFpbCBjYWxscykgaG93IHRvIHJlc3RvcmUgQ1NScyBvbgorICAgICAgICAz
Mi1iaXQgYXJjaGl0ZWN0dXJlcy4KKworICAgICAgICBUaGlzIGFsc28gZml4ZXMgc29tZSAzMi1i
aXQgaXNzdWVzIGludHJvZHVjZWQgYnkgdGhlIHJlY2VudCB1bmxpbmtlZAorICAgICAgICBiYXNl
bGluZSBKSVQuCisKKyAgICAgICAgKiBieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcDoKKyAgICAg
ICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6ZHVtcEluQ29udGV4dCBjb25zdCk6CisgICAgICAgICog
Ynl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojpj
YWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKToKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNv
dmVyeTo6aXNJbkpTU3RhY2sgY29uc3QpOgorICAgICAgICAoSlNDOjpWYWx1ZVJlY292ZXJ5Ojpk
YXRhRm9ybWF0IGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6d2l0aExvY2Fs
c09mZnNldCBjb25zdCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbCk6CisgICAgICAg
ICogaml0L0NhY2hlZFJlY292ZXJ5LmNwcDoKKyAgICAgICAgKEpTQzo6Q2FjaGVkUmVjb3Zlcnk6
OmxvYWRzSW50b0dQUiBjb25zdCk6CisgICAgICAgICogaml0L0NhbGxGcmFtZVNodWZmbGVEYXRh
LmNwcDoKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2
ZVJlZ2lzdGVycyk6CisgICAgICAgICogaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmg6CisgICAg
ICAgICogaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1l
U2h1ZmZsZXI6OkNhbGxGcmFtZVNodWZmbGVyKToKKyAgICAgICAgKiBqaXQvQ2FsbEZyYW1lU2h1
ZmZsZXIuaDoKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OnNuYXBzaG90IGNvbnN0
KToKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OmFkZE5ldyk6CisgICAgICAgICog
aml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVT
aHVmZmxlcjo6ZW1pdExvYWQpOgorICAgICAgICAoSlNDOjpDYWxsRnJhbWVTaHVmZmxlcjo6ZW1p
dERpc3BsYWNlKToKKyAgICAgICAgKiBqaXQvR1BSSW5mby5oOgorICAgICAgICAoSlNDOjpHUFJJ
bmZvOjp0b1JlZ2lzdGVyKToKKyAgICAgICAgKEpTQzo6R1BSSW5mbzo6dG9JbmRleCk6CisgICAg
ICAgICogaml0L1JlZ2lzdGVyU2V0LmNwcDoKKyAgICAgICAgKEpTQzo6UmVnaXN0ZXJTZXQ6OmRm
Z0NhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIzMl82NC5hc206CisKIDIwMjEtMTAtMDYgIE1pa2hhaWwgUi4gR2FkZWxoYSAgPG1pa2hhaWxA
aWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggd3JvbmcgZWRnZSB0eXBlIGZyb20gZ2V0LWJ5LXZh
bCBpbiAzMiBiaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
VmFsdWVSZWNvdmVyeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVS
ZWNvdmVyeS5jcHAKaW5kZXggZTQyNDVlYWJlYzNlMzIyNGE1ZGE1ZmY3NTI1YjU1ZGM5Y2E3MDE2
Ni4uMDg5NjIzYjZmNGRmODM5YzU2NGJhYzJiZjQ2MTBlYjc3ZTU3MzMyMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcApAQCAtOTksNiAr
OTksMTEgQEAgdm9pZCBWYWx1ZVJlY292ZXJ5OjpkdW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiBv
dXQsIER1bXBDb250ZXh0KiBjb250ZXh0KSBjb25zdAogICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJ
bkpTU3RhY2s6CiAgICAgICAgIG91dC5wcmludCgiKmludDMyKCIsIHZpcnR1YWxSZWdpc3Rlcigp
LCAiKSIpOwogICAgICAgICByZXR1cm47CisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBjYXNl
IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorICAgICAgICBvdXQucHJpbnQoIippbnQzMlRh
ZygiLCB2aXJ0dWFsUmVnaXN0ZXIoKSwgIikiKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAg
ICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgb3V0LnByaW50KCIqaW50
NTIoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCmluZGV4IDVlNDNiYzcy
YmJjYzRmZjk3YTY4ZjgzZGE4MzA5NGU1OGRhM2IzMTQuLjA4MjI0ZWQ3Y2E1YjU4ZjE1Y2Q5ZTFj
MDM2YmZlNTNkZmI4YWMzOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9WYWx1ZVJlY292ZXJ5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1ZhbHVlUmVjb3ZlcnkuaApAQCAtNjAsNiArNjAsOSBAQCBlbnVtIFZhbHVlUmVjb3ZlcnlUZWNo
bmlxdWUgOiB1aW50OF90IHsKICAgICBEaXNwbGFjZWRJbkpTU3RhY2ssCiAgICAgLy8gSXQncyBp
biB0aGUgc3RhY2ssIGF0IGEgZGlmZmVyZW50IGxvY2F0aW9uLCBhbmQgaXQncyB1bmJveGVkLgog
ICAgIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrLAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAg
SW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2ssIC8vIGludDMyIHN0b3JlZCBpbiB0YWcgZmllbGQK
KyNlbmRpZgogICAgIEludDUyRGlzcGxhY2VkSW5KU1N0YWNrLAogICAgIFN0cmljdEludDUyRGlz
cGxhY2VkSW5KU1N0YWNrLAogICAgIERvdWJsZURpc3BsYWNlZEluSlNTdGFjaywKQEAgLTE4Nyw3
ICsxOTAsMTkgQEAgcHVibGljOgogICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUp
OwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKworI2lmIFVTRShKU1ZBTFVF
MzJfNjQpCisgICAgc3RhdGljIFZhbHVlUmVjb3ZlcnkgY2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZElu
SlNTdGFjayhWaXJ0dWFsUmVnaXN0ZXIgdmlydHVhbFJlZywgYm9vbCBpblRhZykKKyAgICB7Cisg
ICAgICAgIFZhbHVlUmVjb3ZlcnkgcmVzdWx0OworICAgICAgICBVbmlvblR5cGUgdTsKKyAgICAg
ICAgdS52aXJ0dWFsUmVnID0gdmlydHVhbFJlZy5vZmZzZXQoKTsKKyAgICAgICAgcmVzdWx0Lm1f
c291cmNlID0gV1RGTW92ZSh1KTsKKyAgICAgICAgcmVzdWx0Lm1fdGVjaG5pcXVlID0gaW5UYWcg
PyBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjayA6IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOwor
ICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgc3RhdGljIFZhbHVl
UmVjb3ZlcnkgY29uc3RhbnQoSlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIFZhbHVlUmVj
b3ZlcnkgcmVzdWx0OwpAQCAtMjU4LDYgKzI3Myw5IEBAIHB1YmxpYzoKICAgICAgICAgc3dpdGNo
IChtX3RlY2huaXF1ZSkgewogICAgICAgICBjYXNlIERpc3BsYWNlZEluSlNTdGFjazoKICAgICAg
ICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQor
ICAgICAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorI2VuZGlmCiAgICAgICAg
IGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIGNhc2UgU3RyaWN0SW50NTJE
aXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIGNhc2UgRG91YmxlRGlzcGxhY2VkSW5KU1N0YWNr
OgpAQCAtMjgyLDYgKzMwMCw5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBEYXRhRm9y
bWF0SlM7CiAgICAgICAgIGNhc2UgVW5ib3hlZEludDMySW5HUFI6CiAgICAgICAgIGNhc2UgSW50
MzJEaXNwbGFjZWRJbkpTU3RhY2s6CisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgY2Fz
ZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJu
IERhdGFGb3JtYXRJbnQzMjsKICAgICAgICAgY2FzZSBVbmJveGVkSW50NTJJbkdQUjoKICAgICAg
ICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKQEAgLTM1OCw2ICszNzksOSBAQCBwdWJs
aWM6CiAgICAgICAgIHN3aXRjaCAobV90ZWNobmlxdWUpIHsKICAgICAgICAgY2FzZSBEaXNwbGFj
ZWRJbkpTU3RhY2s6CiAgICAgICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6CisjaWYg
VVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgY2FzZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFj
azoKKyNlbmRpZgogICAgICAgICBjYXNlIERvdWJsZURpc3BsYWNlZEluSlNTdGFjazoKICAgICAg
ICAgY2FzZSBDZWxsRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIEJvb2xlYW5EaXNw
bGFjZWRJbkpTU3RhY2s6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCA2YTBmMjUyMGVhMzdlN2I2MzY0YWE1YTQ3YjAz
MzdmNzY5MjU0NmZlLi5kNGY0NDI1N2Q3ODUyNTRlOGIwOWZhMDliMjZmYzAwOTliZmMwMTc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJf
NjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKQEAgLTc0Miw2ICs3NDIsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2Fs
bChOb2RlKiBub2RlKQogICAgICAgICAgICAgCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSBudW1QYXNzZWRBcmdzOyBpIDwgbnVtQWxsb2NhdGVkQXJnczsgKytpKQogICAgICAgICAgICAg
ICAgIHNodWZmbGVEYXRhLmFyZ3NbaV0gPSBWYWx1ZVJlY292ZXJ5Ojpjb25zdGFudChqc1VuZGVm
aW5lZCgpKTsKKworICAgICAgICAgICAgc2h1ZmZsZURhdGEuc2V0dXBDYWxsZWVTYXZlUmVnaXN0
ZXJzKG1faml0LmNvZGVCbG9jaygpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG1f
aml0LnN0b3JlMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihudW1QYXNzZWRBcmdzKSwg
bV9qaXQuY2FsbGVlRnJhbWVQYXlsb2FkU2xvdChDYWxsRnJhbWVTbG90Ojphcmd1bWVudENvdW50
SW5jbHVkaW5nVGhpcykpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9D
YWNoZWRSZWNvdmVyeS5jcHAKaW5kZXggZjRhYWNjNmM4MGVlNTUwOTA4NDc3ODUzNmVjN2IwODZj
MTg4MjMwMy4uMDBlNzFmNDg3ZGIzMmE4Y2RkMTZlNTYyMDIzMzFjNTFmYjkxZTAxMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5jcHAKQEAgLTUyLDcgKzUy
LDkgQEAgYm9vbCBDYWNoZWRSZWNvdmVyeTo6bG9hZHNJbnRvR1BSKCkgY29uc3QKIHsKICAgICBz
d2l0Y2ggKHJlY292ZXJ5KCkudGVjaG5pcXVlKCkpIHsKICAgICBjYXNlIEludDMyRGlzcGxhY2Vk
SW5KU1N0YWNrOgotI2lmIFVTRShKU1ZBTFVFNjQpCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAg
ICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorI2VsaWYgVVNFKEpTVkFMVUU2NCkK
ICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgIGNhc2UgU3RyaWN0SW50NTJE
aXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgY2FzZSBEaXNwbGFjZWRJbkpTU3RhY2s6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwCmluZGV4
IDMyZDZlNGMwYjM2YmZkNjFkMTUwNTJmODVhMTJjYWVjZTNiYmI1NTIuLmNmMTVjZTE5OWVkMzc2
YWYxNTBlODg3ZjNlZWQwMmZhMTVkYzdiMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwCkBAIC0zMyw4ICszMyw2IEBACiAKIG5h
bWVzcGFjZSBKU0MgewogCi0jaWYgVVNFKEpTVkFMVUU2NCkKLQogdm9pZCBDYWxsRnJhbWVTaHVm
ZmxlRGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKENvZGVCbG9jayogY29kZUJsb2NrKQog
ewogICAgIHNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhjb2RlQmxvY2stPmNhbGxlZVNhdmVSZWdp
c3RlcnMoKSk7CkBAIC00OSw5ICs0NywyNCBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpz
ZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqCiAgICAg
ICAgIGlmICghY2FsbGVlU2F2ZVJlZ2lzdGVycy5nZXQoZW50cnkucmVnKCkpKQogICAgICAgICAg
ICAgY29udGludWU7CiAKLSAgICAgICAgVmlydHVhbFJlZ2lzdGVyIHNhdmVTbG90IHsgZW50cnku
b2Zmc2V0QXNJbmRleCgpIH07CisgICAgICAgIGludCBzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3Rl
cnMgPSBlbnRyeS5vZmZzZXRBc0luZGV4KCk7CisKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgICAg
ICAvLyBDUFUgcmVnaXN0ZXJzIGFyZSB0aGUgc2FtZSBzaXplIGFzIHZpcnR1YWwgcmVnaXN0ZXJz
CisgICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7IHNhdmVTbG90SW5kZXhJbkNQVVJl
Z2lzdGVycyB9OwogICAgICAgICByZWdpc3RlcnNbZW50cnkucmVnKCldCiAgICAgICAgICAgICA9
IFZhbHVlUmVjb3Zlcnk6OmRpc3BsYWNlZEluSlNTdGFjayhzYXZlU2xvdCwgRGF0YUZvcm1hdEpT
KTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIC8vIE9uIDMyLWJpdCBhcmNoaXRl
Y3R1cmVzLCAyIGNhbGxlZSBzYXZlZCByZWdpc3RlcnMgbWF5IGJlIHBhY2tlZCBpbnRvIHRoZSBz
YW1lIHNsb3QKKyAgICAgICAgc3RhdGljX2Fzc2VydCghUGF5bG9hZE9mZnNldCB8fCAhVGFnT2Zm
c2V0KTsKKyAgICAgICAgc3RhdGljX2Fzc2VydChQYXlsb2FkT2Zmc2V0ID09IDQgfHwgVGFnT2Zm
c2V0ID09IDQpOworICAgICAgICBib29sIGluVGFnID0gKHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lz
dGVycyAmIDEpID09ICEhVGFnT2Zmc2V0OworICAgICAgICBpZiAoc2F2ZVNsb3RJbmRleEluQ1BV
UmVnaXN0ZXJzIDwgMCkKKyAgICAgICAgICAgIHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyAt
PSAxOyAvLyBSb3VuZCB0b3dhcmRzIC1pbmYKKyAgICAgICAgVmlydHVhbFJlZ2lzdGVyIHNhdmVT
bG90IHsgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIC8gMiB9OworICAgICAgICByZWdpc3Rl
cnNbZW50cnkucmVnKCldCisgICAgICAgICAgICA9IFZhbHVlUmVjb3Zlcnk6OmNhbGxlZVNhdmVS
ZWdEaXNwbGFjZWRJbkpTU3RhY2soc2F2ZVNsb3QsIGluVGFnKTsKKyNlbmRpZgogICAgIH0KIAog
ICAgIGZvciAoUmVnIHJlZyA9IFJlZzo6Zmlyc3QoKTsgcmVnIDw9IFJlZzo6bGFzdCgpOyByZWcg
PSByZWcubmV4dCgpKSB7CkBAIC02MSwxMiArNzQsMTQgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxl
RGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKGNvbnN0IFJlZ2lzdGVyQXRPZmZzZXRMaXN0
KgogICAgICAgICBpZiAocmVnaXN0ZXJzW3JlZ10pCiAgICAgICAgICAgICBjb250aW51ZTsKIAor
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgIHJlZ2lzdGVyc1tyZWddID0gVmFsdWVSZWNvdmVy
eTo6aW5SZWdpc3RlcihyZWcsIERhdGFGb3JtYXRKUyk7CisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0
KQorICAgICAgICByZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6OmluUmVnaXN0ZXIocmVn
LCBEYXRhRm9ybWF0SW50MzIpOworI2VuZGlmCiAgICAgfQogfQogCi0jZW5kaWYgLy8gVVNFKEpT
VkFMVUU2NCkKLQogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBFTkFCTEUoSklUKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0
YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5oCmlu
ZGV4IGM2YjcwZjA1ZDEwOWIxODVmNGQxMmJjNzA5ZjhmNzY3Y2JiZjFmMzcuLjMzNjU3ZTMzYTY0
ZjM3ODFmNDMwOTk4YzEzMzM3MWExYWE2NGI3NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKQEAgLTQ0LDEzICs0NCwxMyBAQCBwdWJs
aWM6CiAgICAgdW5zaWduZWQgbnVtTG9jYWxzIHsgVUlOVF9NQVggfTsKICAgICB1bnNpZ25lZCBu
dW1QYXNzZWRBcmdzIHsgVUlOVF9NQVggfTsKICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzIHsg
VUlOVF9NQVggfTsgLy8gT24gb3VyIG1hY2hpbmUgZnJhbWUuCi0jaWYgVVNFKEpTVkFMVUU2NCkK
ICAgICBSZWdpc3Rlck1hcDxWYWx1ZVJlY292ZXJ5PiByZWdpc3RlcnM7CisjaWYgVVNFKEpTVkFM
VUU2NCkKICAgICBHUFJSZWcgbnVtYmVyVGFnUmVnaXN0ZXIgeyBJbnZhbGlkR1BSUmVnIH07Cisj
ZW5kaWYKIAogICAgIHZvaWQgc2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKENvZGVCbG9jayopOwog
ICAgIHZvaWQgc2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKGNvbnN0IFJlZ2lzdGVyQXRPZmZzZXRM
aXN0Kik7Ci0jZW5kaWYKICAgICBWYWx1ZVJlY292ZXJ5IGNhbGxlZTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHAKaW5kZXggM2I1Mzc0
ZGExNjZmZjcxOTlmNWZhZTQ1NWFhNjY2M2ViZGVlNTNkNS4uOTMwYWJhMjEyNjAzZGM2YmEzN2Y0
OWU5MjA5YjNkOWMyYTViZGQzYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9D
YWxsRnJhbWVTaHVmZmxlci5jcHAKQEAgLTUyLDEzICs1Miw4IEBAIENhbGxGcmFtZVNodWZmbGVy
OjpDYWxsRnJhbWVTaHVmZmxlcihDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgQ2FsbEZyYW1lU2h1
ZmZsZURhCiAgICAgZm9yICh1bnNpZ25lZCBpID0gRlBSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnM7
IGktLTsgKQogICAgICAgICBtX2xvY2tlZFJlZ2lzdGVycy5jbGVhcihGUFJJbmZvOjp0b1JlZ2lz
dGVyKGkpKTsKIAotI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgLy8gLi4uIGFzIHdlbGwgYXMgdGhl
IHJ1bnRpbWUgcmVnaXN0ZXJzIG9uIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgotICAgIC8vIEhvd2V2
ZXIgZG8gbm90IHVzZSB0aGVzZSByZWdpc3RlcnMgb24gMzItYml0IGFyY2hpdGVjdHVyZXMgc2lu
Y2UKLSAgICAvLyBzYXZpbmcgYW5kIHJlc3RvcmluZyBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIGlu
IENhbGxGcmFtZVNodWZmbGVyIGlzbid0IHN1cHBvcnRlZAotICAgIC8vIG9uIDMyLWJpdCBhcmNo
aXRlY3R1cmVzIHlldC4KKyAgICAvLyAuLi4gYXMgd2VsbCBhcyB0aGUgY2FsbGVlIHNhdmVkIHJl
Z2lzdGVycwogICAgIG1fbG9ja2VkUmVnaXN0ZXJzLmV4Y2x1ZGUoUmVnaXN0ZXJTZXQ6OnZtQ2Fs
bGVlU2F2ZVJlZ2lzdGVycygpKTsKLSNlbmRpZgogCiAgICAgQVNTRVJUKCFkYXRhLmNhbGxlZS5p
c0luSlNTdGFjaygpIHx8IGRhdGEuY2FsbGVlLnZpcnR1YWxSZWdpc3RlcigpLmlzTG9jYWwoKSk7
CiAgICAgYWRkTmV3KENhbGxGcmFtZVNsb3Q6OmNhbGxlZSwgZGF0YS5jYWxsZWUpOwpAQCAtNjgs
MTcgKzYzLDIxIEBAIENhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVmZmxlcihDQ2FsbEhl
bHBlcnMmIGppdCwgY29uc3QgQ2FsbEZyYW1lU2h1ZmZsZURhCiAgICAgICAgIGFkZE5ldyh2aXJ0
dWFsUmVnaXN0ZXJGb3JBcmd1bWVudEluY2x1ZGluZ1RoaXMoaSksIGRhdGEuYXJnc1tpXSk7CiAg
ICAgfQogCi0jaWYgVVNFKEpTVkFMVUU2NCkKICAgICBmb3IgKFJlZyByZWcgPSBSZWc6OmZpcnN0
KCk7IHJlZyA8PSBSZWc6Omxhc3QoKTsgcmVnID0gcmVnLm5leHQoKSkgewogICAgICAgICBpZiAo
IWRhdGEucmVnaXN0ZXJzW3JlZ10uaXNTZXQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0g
ICAgICAgIGlmIChyZWcuaXNHUFIoKSkKKyAgICAgICAgaWYgKHJlZy5pc0dQUigpKSB7CisjaWYg
VVNFKEpTVkFMVUU2NCkKICAgICAgICAgICAgIGFkZE5ldyhKU1ZhbHVlUmVncyhyZWcuZ3ByKCkp
LCBkYXRhLnJlZ2lzdGVyc1tyZWddKTsKLSAgICAgICAgZWxzZQorI2VsaWYgVVNFKEpTVkFMVUUz
Ml82NCkKKyAgICAgICAgICAgIGFkZE5ldyhyZWcuZ3ByKCksIGRhdGEucmVnaXN0ZXJzW3JlZ10p
OworI2VuZGlmCisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgYWRkTmV3KHJlZy5mcHIoKSwg
ZGF0YS5yZWdpc3RlcnNbcmVnXSk7CiAgICAgfQogCisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICBt
X251bWJlclRhZ1JlZ2lzdGVyID0gZGF0YS5udW1iZXJUYWdSZWdpc3RlcjsKICAgICBpZiAobV9u
dW1iZXJUYWdSZWdpc3RlciAhPSBJbnZhbGlkR1BSUmVnKQogICAgICAgICBsb2NrR1BSKG1fbnVt
YmVyVGFnUmVnaXN0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9D
YWxsRnJhbWVTaHVmZmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVT
aHVmZmxlci5oCmluZGV4IGUwNDhhNGRjYTY2NjU2OTkxYTA0M2FlOTRiODAwYmIxMTQxNjBiMGMu
LmExNzYyNDRlMWUzMDk1NjY3NzM0NjBhZDIwNjUwZTE5YmMzZGFkNjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKQEAgLTExNiw2ICsxMTYsMTUg
QEAgcHVibGljOgogCiAjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAgICAgICAgIGRhdGEucmVnaXN0
ZXJzW3JlZ10gPSBjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKTsKKyNlbGlmIFVTRShKU1ZBTFVF
MzJfNjQpCisgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5IHJlY292ZXJ5ID0gY2FjaGVkUmVjb3Zl
cnktPnJlY292ZXJ5KCk7CisgICAgICAgICAgICBpZiAocmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0g
RGlzcGxhY2VkSW5KU1N0YWNrKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZ3Mgd2FudGVk
SlNWYWx1ZVJlZyA9IGNhY2hlZFJlY292ZXJ5LT53YW50ZWRKU1ZhbHVlUmVncygpOworICAgICAg
ICAgICAgICAgIEFTU0VSVChyZWcgPT0gd2FudGVkSlNWYWx1ZVJlZy5wYXlsb2FkR1BSKCkgfHwg
cmVnID09IHdhbnRlZEpTVmFsdWVSZWcudGFnR1BSKCkpOworICAgICAgICAgICAgICAgIGJvb2wg
aW5UYWcgPSByZWcgPT0gd2FudGVkSlNWYWx1ZVJlZy50YWdHUFIoKTsKKyAgICAgICAgICAgICAg
ICBkYXRhLnJlZ2lzdGVyc1tyZWddID0gVmFsdWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3Bs
YWNlZEluSlNTdGFjayhyZWNvdmVyeS52aXJ0dWFsUmVnaXN0ZXIoKSwgaW5UYWcpOworICAgICAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgZGF0YS5yZWdpc3RlcnNbcmVnXSA9IHJlY292
ZXJ5OwogI2Vsc2UKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAj
ZW5kaWYKQEAgLTY2Myw2ICs2NzIsMzIgQEAgcHJpdmF0ZToKICAgICAgICAgY2FjaGVkUmVjb3Zl
cnktPnNldFdhbnRlZEpTVmFsdWVSZWdzKGpzVmFsdWVSZWdzKTsKICAgICB9CiAKKyNpZiBVU0Uo
SlNWQUxVRTMyXzY0KQorICAgIHZvaWQgYWRkTmV3KEdQUlJlZyBncHIsIFZhbHVlUmVjb3Zlcnkg
cmVjb3ZlcnkpCisgICAgeworICAgICAgICBBU1NFUlQoZ3ByICE9IEludmFsaWRHUFJSZWcgJiYg
IW1fbmV3UmVnaXN0ZXJzW2dwcl0pOworICAgICAgICBBU1NFUlQocmVjb3ZlcnkudGVjaG5pcXVl
KCkgPT0gSW50MzJEaXNwbGFjZWRJbkpTU3RhY2sKKyAgICAgICAgICAgIHx8IHJlY292ZXJ5LnRl
Y2huaXF1ZSgpID09IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrKTsKKyAgICAgICAgQ2FjaGVk
UmVjb3ZlcnkqIGNhY2hlZFJlY292ZXJ5ID0gYWRkQ2FjaGVkUmVjb3ZlcnkocmVjb3ZlcnkpOwor
ICAgICAgICBpZiAoSlNWYWx1ZVJlZ3Mgb2xkUmVncyB7IGNhY2hlZFJlY292ZXJ5LT53YW50ZWRK
U1ZhbHVlUmVncygpIH0pIHsKKyAgICAgICAgICAgIC8vIENvbWJpbmUgd2l0aCB0aGUgb3RoZXIg
Q1NSIGluIHRoZSBzYW1lIHZpcnR1YWwgcmVnaXN0ZXIgc2xvdAorICAgICAgICAgICAgQVNTRVJU
KG9sZFJlZ3MudGFnR1BSKCkgPT0gSW52YWxpZEdQUlJlZyk7CisgICAgICAgICAgICBBU1NFUlQo
b2xkUmVncy5wYXlsb2FkR1BSKCkgIT0gSW52YWxpZEdQUlJlZyAmJiBvbGRSZWdzLnBheWxvYWRH
UFIoKSAhPSBncHIpOworICAgICAgICAgICAgaWYgKHJlY292ZXJ5LnRlY2huaXF1ZSgpID09IElu
dDMyRGlzcGxhY2VkSW5KU1N0YWNrKSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGNhY2hlZFJl
Y292ZXJ5LT5yZWNvdmVyeSgpLnRlY2huaXF1ZSgpID09IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0
YWNrKTsKKyAgICAgICAgICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJl
Z3MoSlNWYWx1ZVJlZ3Mob2xkUmVncy5wYXlsb2FkR1BSKCksIGdwcikpOworICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQoY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5
KCkudGVjaG5pcXVlKCkgPT0gSW50MzJEaXNwbGFjZWRJbkpTU3RhY2spOworICAgICAgICAgICAg
ICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVncyhncHIs
IG9sZFJlZ3MucGF5bG9hZEdQUigpKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYWNo
ZWRSZWNvdmVyeS0+c2V0UmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgVmFsdWVSZWNvdmVyeTo6
ZGlzcGxhY2VkSW5KU1N0YWNrKHJlY292ZXJ5LnZpcnR1YWxSZWdpc3RlcigpLCBEYXRhRm9ybWF0
SlMpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2Fu
dGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KGdwcikpOworICAgICAgICBt
X25ld1JlZ2lzdGVyc1tncHJdID0gY2FjaGVkUmVjb3Zlcnk7CisgICAgfQorI2VuZGlmCisKICAg
ICB2b2lkIGFkZE5ldyhGUFJSZWcgZnByLCBWYWx1ZVJlY292ZXJ5IHJlY292ZXJ5KQogICAgIHsK
ICAgICAgICAgQVNTRVJUKGZwciAhPSBJbnZhbGlkRlBSUmVnICYmICFtX25ld1JlZ2lzdGVyc1tm
cHJdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1
ZmZsZXIzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZm
bGVyMzJfNjQuY3BwCmluZGV4IDVkZmU5NmU4MWVjOWY2ZmE5Zjc3YTBkNjUxNTY3MjUzYjE2ZTc2
MDkuLjJmZWY1M2RhNjBhMmU3NWE0N2M2NGY4ZDMwNDBjNDYyMjJiYjg4ZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcApA
QCAtMTI0LDggKzEyNCwxMSBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVyOjplbWl0TG9hZChDYWNo
ZWRSZWNvdmVyeSYgbG9jYXRpb24pCiAgICAgICAgIGlmIChyZXN1bHRHUFIgPT0gSW52YWxpZEdQ
UlJlZyB8fCBtX3JlZ2lzdGVyc1tyZXN1bHRHUFJdIHx8IG1fbG9ja2VkUmVnaXN0ZXJzLmdldChy
ZXN1bHRHUFIpKQogICAgICAgICAgICAgcmVzdWx0R1BSID0gZ2V0RnJlZUdQUigpOwogICAgICAg
ICBBU1NFUlQocmVzdWx0R1BSICE9IEludmFsaWRHUFJSZWcpOwotICAgICAgICBtX2ppdC5sb2Fk
UHRyKGFkZHJlc3Mud2l0aE9mZnNldChQYXlsb2FkT2Zmc2V0KSwgcmVzdWx0R1BSKTsKLSAgICAg
ICAgdXBkYXRlUmVjb3ZlcnkobG9jYXRpb24sIAorICAgICAgICBpZiAobG9jYXRpb24ucmVjb3Zl
cnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjaykKKyAgICAgICAg
ICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRoT2Zmc2V0KFRhZ09mZnNldCksIHJlc3VsdEdQ
Uik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRo
T2Zmc2V0KFBheWxvYWRPZmZzZXQpLCByZXN1bHRHUFIpOworICAgICAgICB1cGRhdGVSZWNvdmVy
eShsb2NhdGlvbiwKICAgICAgICAgICAgIFZhbHVlUmVjb3Zlcnk6OmluR1BSKHJlc3VsdEdQUiwg
bG9jYXRpb24ucmVjb3ZlcnkoKS5kYXRhRm9ybWF0KCkpKTsKICAgICAgICAgaWYgKHZlcmJvc2Up
CiAgICAgICAgICAgICBkYXRhTG9nKGxvY2F0aW9uLnJlY292ZXJ5KCksICJcbiIpOwpAQCAtMTkw
LDI4ICsxOTMsMTggQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlcjo6ZW1pdERpc3BsYWNlKENhY2hl
ZFJlY292ZXJ5JiBsb2NhdGlvbikKICAgICBpZiAod2FudGVkVGFnR1BSICE9IEludmFsaWRHUFJS
ZWcpIHsKICAgICAgICAgQVNTRVJUKCFtX2xvY2tlZFJlZ2lzdGVycy5nZXQod2FudGVkVGFnR1BS
KSk7CiAgICAgICAgIGlmIChDYWNoZWRSZWNvdmVyeSogY3VycmVudFRhZyB7IG1fcmVnaXN0ZXJz
W3dhbnRlZFRhZ0dQUl0gfSkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnRUYWcgPT0gJmxvY2F0
aW9uKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAg
IGRhdGFMb2coIiAgICsgIiwgd2FudGVkVGFnR1BSLCAiIGlzIE9LXG4iKTsKLSAgICAgICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhpcyBjYW4gbmV2ZXIgaGFwcGVuIG9uIDMy
Yml0IHBsYXRmb3JtcyBzaW5jZSB3ZQotICAgICAgICAgICAgICAgIC8vIGhhdmUgYXQgbW9zdCBv
bmUgd2FudGVkIEpTVmFsdWVSZWdzLCBmb3IgdGhlCi0gICAgICAgICAgICAgICAgLy8gY2FsbGVl
LCBhbmQgbm8gY2FsbGVlLXNhdmUgcmVnaXN0ZXJzLgotICAgICAgICAgICAgICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChjdXJyZW50VGFnID09ICZsb2NhdGlvbik7CisgICAgICAgICAgICBpZiAodmVyYm9z
ZSkKKyAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFRhZ0dQUiwgIiBpcyBP
S1xuIik7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAod2FudGVkUGF5bG9hZEdQUiAhPSBJ
bnZhbGlkR1BSUmVnKSB7CiAgICAgICAgIEFTU0VSVCghbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHdh
bnRlZFBheWxvYWRHUFIpKTsKICAgICAgICAgaWYgKENhY2hlZFJlY292ZXJ5KiBjdXJyZW50UGF5
bG9hZCB7IG1fcmVnaXN0ZXJzW3dhbnRlZFBheWxvYWRHUFJdIH0pIHsKLSAgICAgICAgICAgIGlm
IChjdXJyZW50UGF5bG9hZCA9PSAmbG9jYXRpb24pIHsKLSAgICAgICAgICAgICAgICBpZiAodmVy
Ym9zZSkKLSAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRQYXlsb2Fk
R1BSLCAiIGlzIE9LXG4iKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
Ly8gU2VlIGFib3ZlCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnRQYXls
b2FkID09ICZsb2NhdGlvbik7CisgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAg
ICAgICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFBheWxvYWRHUFIsICIgaXMgT0tcbiIpOwogICAg
ICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQ
UkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCmluZGV4IDVmZjYy
NDc0MWFiNzBlOGMwNDM1YmRmOWQyNWIxOTE0NjAzODFkOWUuLjJmN2NmNWFiYmIzOTljYTc0NDNl
YWM4MzIwMzJmNmMwNzNiNDJiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvR1BSSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oCkBA
IC01MzgsNyArNTM4LDcgQEAgcHVibGljOgogY2xhc3MgR1BSSW5mbyB7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBHUFJSZWcgUmVnaXN0ZXJUeXBlOwotICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWdu
ZWQgbnVtYmVyT2ZSZWdpc3RlcnMgPSA5OworICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQg
bnVtYmVyT2ZSZWdpc3RlcnMgPSAxMDsKICAgICBzdGF0aWMgY29uc3RleHByIHVuc2lnbmVkIG51
bWJlck9mQXJndW1lbnRSZWdpc3RlcnMgPSBOVU1CRVJfT0ZfQVJHVU1FTlRfUkVHSVNURVJTOwog
CiAgICAgLy8gVGVtcG9yYXJ5IHJlZ2lzdGVycy4KQEAgLTU2Nyw3ICs1NjcsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIEdQUlJlZyB0b1JlZ2lzdGVyKHVuc2lnbmVkIGluZGV4KQogICAgIHsKICAg
ICAgICAgQVNTRVJUKGluZGV4IDwgbnVtYmVyT2ZSZWdpc3RlcnMpOwotICAgICAgICBzdGF0aWMg
Y29uc3QgR1BSUmVnIHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVyT2ZSZWdpc3RlcnNdID0geyByZWdU
MCwgcmVnVDEsIHJlZ1QyLCByZWdUMywgcmVnVDQsIHJlZ1Q1LCByZWdUNiwgcmVnVDcsIHJlZ0NT
MSB9OworICAgICAgICBzdGF0aWMgY29uc3QgR1BSUmVnIHJlZ2lzdGVyRm9ySW5kZXhbbnVtYmVy
T2ZSZWdpc3RlcnNdID0geyByZWdUMCwgcmVnVDEsIHJlZ1QyLCByZWdUMywgcmVnVDQsIHJlZ1Q1
LCByZWdUNiwgcmVnVDcsIHJlZ0NTMCwgcmVnQ1MxIH07CiAgICAgICAgIHJldHVybiByZWdpc3Rl
ckZvckluZGV4W2luZGV4XTsKICAgICB9CiAKQEAgLTU4Myw3ICs1ODMsNyBAQCBwdWJsaWM6CiAg
ICAgICAgIEFTU0VSVChyZWcgIT0gSW52YWxpZEdQUlJlZyk7CiAgICAgICAgIEFTU0VSVChzdGF0
aWNfY2FzdDxpbnQ+KHJlZykgPCAxNik7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBp
bmRleEZvclJlZ2lzdGVyWzE2XSA9Ci0gICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYsIElu
dmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJ
bmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCB9OworICAgICAg
ICAgICAgeyAwLCAxLCAyLCAzLCA3LCA2LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgNCwg
NSwgOSwgOCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxp
ZEluZGV4IH07CiAgICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IGluZGV4Rm9yUmVnaXN0ZXJbcmVn
XTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvUmVnaXN0ZXJTZXQuY3BwCmluZGV4IGM1MjlkNzRhZmVjOGVhODY2YzA4NjQ2NDk1NGJmNzlh
MTA4YjNkOTEuLjY0NmNkNGY5MzUyZTc0MGVlYTllNjI0NjEzZGEyNjQyZGZjYjZjMDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwCkBAIC0yNTQsNiArMjU0LDcg
QEAgUmVnaXN0ZXJTZXQgUmVnaXN0ZXJTZXQ6OmRmZ0NhbGxlZVNhdmVSZWdpc3RlcnMoKQogICAg
IHJlc3VsdC5zZXQoR1BSSW5mbzo6cmVnQ1M2KTsKICNlbmRpZgogI2VsaWYgQ1BVKEFSTV9USFVN
QjIpCisgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdDUzApOwogICAgIHJlc3VsdC5zZXQoR1BS
SW5mbzo6cmVnQ1MxKTsKICNlbGlmIENQVShBUk02NCkKICAgICBzdGF0aWNfYXNzZXJ0KEdQUklu
Zm86OnJlZ0NTOCA9PSBHUFJJbmZvOjpudW1iZXJUYWdSZWdpc3RlciwgIiIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5h
c20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0
LmFzbQppbmRleCA1MGQ1ZGJkZjYwMmE5MTk2YmQ1Y2E1MTk0MDI2NGZmZDg5ZDcwNmI0Li5lNjg5
N2RhZjJlMjlhMmFjODc5MjFmMGNiYWZjMzFiOWEyMTg3MDc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQpA
QCAtNzksOCArNzksNiBAQCBlbmQKICMgQWZ0ZXIgY2FsbGluZywgY2FsbGluZyBieXRlY29kZSBp
cyBjbGFpbWluZyBpbnB1dCByZWdpc3RlcnMgYXJlIG5vdCB1c2VkLgogbWFjcm8gZGlzcGF0Y2hB
ZnRlckNhbGwoc2l6ZSwgb3Bjb2RlU3RydWN0LCB2YWx1ZVByb2ZpbGVOYW1lLCBkc3RWaXJ0dWFs
UmVnaXN0ZXIsIGRpc3BhdGNoKQogICAgIGxvYWRpIEFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
ICsgVGFnT2Zmc2V0W2Nmcl0sIFBDCi0gICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIFBCCi0gICAg
bG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1Jhd1BvaW50ZXJbUEJdLCBQQgogICAgIGdl
dChzaXplLCBvcGNvZGVTdHJ1Y3QsIGRzdFZpcnR1YWxSZWdpc3RlciwgdDMpCiAgICAgc3RvcmVp
IHIxLCBUYWdPZmZzZXRbY2ZyLCB0MywgOF0KICAgICBzdG9yZWkgcjAsIFBheWxvYWRPZmZzZXRb
Y2ZyLCB0MywgOF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441346</attachid>
            <date>2021-10-15 01:27:11 -0700</date>
            <delta_ts>2021-10-15 09:44:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20211015082709.patch</filename>
            <type>text/plain</type>
            <size>20051</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
NzYwNDY4MTEyY2Y4NTJmYjhjYWNhNmVmYmNiYjFiMDk5Mzc4NmFkLi40M2FmZmVjMGY2NDQwMDRl
OTMzMzJmOWFkY2Q1YWJhZWU1NWQwOTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OSBAQAorMjAyMS0xMC0xNSAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVszMmJpdF0gRml4IENTUiByZXN0b3JlIG9uIERGRyB0YWlsIGNhbGxzLCBh
ZGQgZXh0cmEgcmVnaXN0ZXIgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhYW0gQmFy
YXRpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0d28gdGhpbmdzOgorCisgICAgICAgIDEu
IEFkZHMgYW4gZXh0cmEgY2FsbGVlIHNhdmUgcmVnaXN0ZXIgKENTUikgdG8gYmUgYXZhaWxhYmxl
IHRvIERGRyBvbgorICAgICAgICBBUk12Ny4gVG8gZG8gdGhpcyBwcm9wZXJseSByZXF1aXJlZCB0
aGUgZm9sbG93aW5nOgorCisgICAgICAgIDIuIEltcGxlbWVudHMgdGhlIG5lY2Vzc2FyeSBzaHVm
ZmxpbmcgaW4gQ2FsbEZyYW1lU2h1ZmZsZXIgb24gMzItYml0CisgICAgICAgIGFyY2hpdGVjdHVy
ZXMgdGhhdCBpcyByZXF1aXJlZCB0byByZXN0b3JlIENTUnMgcHJvcGVybHkgYWZ0ZXIgYSB0YWls
CisgICAgICAgIGNhbGwgb24gdGhlc2UgYXJjaGl0ZWN0dXJlcy4gVGhpcyBhbHNvIGZpeGVzIHRo
ZSByZW1haW5pbmcgZmFpbHVyZXMgaW4KKyAgICAgICAgdGhlIDMyLWJpdCBidWlsZCBvZiB0aGUg
dW5saW5rZWQgYmFzZWxpbmUgSklULgorCisgICAgICAgICogYnl0ZWNvZGUvVmFsdWVSZWNvdmVy
eS5jcHA6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmR1bXBJbkNvbnRleHQgY29uc3Qp
OgorICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaDoKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayk6CisgICAgICAgIChK
U0M6OlZhbHVlUmVjb3Zlcnk6OmlzSW5KU1N0YWNrIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6ZGF0YUZvcm1hdCBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zl
cnk6OndpdGhMb2NhbHNPZmZzZXQgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENh
bGwpOgorICAgICAgICAqIGppdC9DYWNoZWRSZWNvdmVyeS5jcHA6CisgICAgICAgIChKU0M6OkNh
Y2hlZFJlY292ZXJ5Ojpsb2Fkc0ludG9HUFIgY29uc3QpOgorICAgICAgICAqIGppdC9DYWxsRnJh
bWVTaHVmZmxlRGF0YS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVEYXRhOjpz
ZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5oOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHA6CisgICAgICAgIChK
U0M6OkNhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVmZmxlcik6CisgICAgICAgICogaml0
L0NhbGxGcmFtZVNodWZmbGVyLmg6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjpz
bmFwc2hvdCBjb25zdCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjphZGROZXcp
OgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKToKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1l
U2h1ZmZsZXI6OmVtaXREaXNwbGFjZSk6CisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAgICAg
ICAgKEpTQzo6R1BSSW5mbzo6dG9SZWdpc3Rlcik6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRv
SW5kZXgpOgorICAgICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgIChKU0M6OlJl
Z2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKToKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorCiAyMDIxLTEwLTE1ICBSb2JpbiBNb3Jpc3NldCAg
PHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0IHIyODQyMzAsIG15IGxhc3Qg
Zml4ZXMgdG8gdGhlIHdhdGNoIGJ1aWxkIG1ha2UgaXQgYnJlYWsgdGVzdHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAppbmRleCBlNDI0NWVh
YmVjM2UzMjI0YTVkYTVmZjc1MjViNTVkYzljYTcwMTY2Li4wODk2MjNiNmY0ZGY4MzljNTY0YmFj
MmJmNDYxMGViNzdlNTczMzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1ZhbHVlUmVjb3ZlcnkuY3BwCkBAIC05OSw2ICs5OSwxMSBAQCB2b2lkIFZhbHVlUmVjb3Zl
cnk6OmR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mIG91dCwgRHVtcENvbnRleHQqIGNvbnRleHQp
IGNvbnN0CiAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgb3V0LnBy
aW50KCIqaW50MzIoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJldHVybjsK
KyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3Rh
Y2s6CisgICAgICAgIG91dC5wcmludCgiKmludDMyVGFnKCIsIHZpcnR1YWxSZWdpc3RlcigpLCAi
KSIpOworICAgICAgICByZXR1cm47CisjZW5kaWYKICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5K
U1N0YWNrOgogICAgICAgICBvdXQucHJpbnQoIippbnQ1MigiLCB2aXJ0dWFsUmVnaXN0ZXIoKSwg
IikiKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9WYWx1ZVJlY292ZXJ5LmgKaW5kZXggNWU0M2JjNzJiYmNjNGZmOTdhNjhmODNkYTgzMDk0ZTU4
ZGEzYjMxNC4uMDgyMjRlZDdjYTViNThmMTVjZDllMWMwMzZiZmU1M2RmYjhhYzM5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBAIC02MCw2
ICs2MCw5IEBAIGVudW0gVmFsdWVSZWNvdmVyeVRlY2huaXF1ZSA6IHVpbnQ4X3QgewogICAgIERp
c3BsYWNlZEluSlNTdGFjaywKICAgICAvLyBJdCdzIGluIHRoZSBzdGFjaywgYXQgYSBkaWZmZXJl
bnQgbG9jYXRpb24sIGFuZCBpdCdzIHVuYm94ZWQuCiAgICAgSW50MzJEaXNwbGFjZWRJbkpTU3Rh
Y2ssCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFj
aywgLy8gaW50MzIgc3RvcmVkIGluIHRhZyBmaWVsZAorI2VuZGlmCiAgICAgSW50NTJEaXNwbGFj
ZWRJbkpTU3RhY2ssCiAgICAgU3RyaWN0SW50NTJEaXNwbGFjZWRJbkpTU3RhY2ssCiAgICAgRG91
YmxlRGlzcGxhY2VkSW5KU1N0YWNrLApAQCAtMTg3LDcgKzE5MCwxOSBAQCBwdWJsaWM6CiAgICAg
ICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQotICAgIAorCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBzdGF0aWMgVmFsdWVS
ZWNvdmVyeSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKFZpcnR1YWxSZWdpc3RlciB2
aXJ0dWFsUmVnLCBib29sIGluVGFnKQorICAgIHsKKyAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1
bHQ7CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxSZWcgPSB2aXJ0dWFs
UmVnLm9mZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOworICAg
ICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBpblRhZyA/IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0
YWNrIDogSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s7CisgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgfQorI2VuZGlmCisKICAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjb25zdGFudChKU1ZhbHVl
IHZhbHVlKQogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CkBAIC0yNTgsNiAr
MjczLDkgQEAgcHVibGljOgogICAgICAgICBzd2l0Y2ggKG1fdGVjaG5pcXVlKSB7CiAgICAgICAg
IGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5K
U1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdEaXNw
bGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNT
dGFjazoKICAgICAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAg
ICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0yODIsNiArMzAwLDkgQEAgcHVi
bGljOgogICAgICAgICAgICAgcmV0dXJuIERhdGFGb3JtYXRKUzsKICAgICAgICAgY2FzZSBVbmJv
eGVkSW50MzJJbkdQUjoKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNp
ZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0
YWNrOgorI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gRGF0YUZvcm1hdEludDMyOwogICAgICAg
ICBjYXNlIFVuYm94ZWRJbnQ1MkluR1BSOgogICAgICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5K
U1N0YWNrOgpAQCAtMzU4LDYgKzM3OSw5IEBAIHB1YmxpYzoKICAgICAgICAgc3dpdGNoIChtX3Rl
Y2huaXF1ZSkgewogICAgICAgICBjYXNlIERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2Fz
ZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAg
ICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorI2VuZGlmCiAgICAgICAgIGNhc2Ug
RG91YmxlRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIENlbGxEaXNwbGFjZWRJbkpT
U3RhY2s6CiAgICAgICAgIGNhc2UgQm9vbGVhbkRpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmlu
ZGV4IDZhMGYyNTIwZWEzN2U3YjYzNjRhYTVhNDdiMDMzN2Y3NjkyNTQ2ZmUuLmQ0ZjQ0MjU3ZDc4
NTI1NGU4YjA5ZmEwOWIyNmZjMDA5OWJmYzAxNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNzQyLDYgKzc0Miw4
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG51bVBhc3NlZEFyZ3M7IGkgPCBudW1B
bGxvY2F0ZWRBcmdzOyArK2kpCiAgICAgICAgICAgICAgICAgc2h1ZmZsZURhdGEuYXJnc1tpXSA9
IFZhbHVlUmVjb3Zlcnk6OmNvbnN0YW50KGpzVW5kZWZpbmVkKCkpOworCisgICAgICAgICAgICBz
aHVmZmxlRGF0YS5zZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMobV9qaXQuY29kZUJsb2NrKCkpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTMyKG51bVBhc3NlZEFyZ3MpLCBtX2ppdC5jYWxsZWVGcmFtZVBheWxvYWRT
bG90KENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKSk7CiAgICAgICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAppbmRleCBm
NGFhY2M2YzgwZWU1NTA5MDg0Nzc4NTM2ZWM3YjA4NmMxODgyMzAzLi4wMGU3MWY0ODdkYjMyYThj
ZGQxNmU1NjIwMjMzMWM1MWZiOTFlMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NhY2hlZFJlY292ZXJ5LmNwcApAQCAtNTIsNyArNTIsOSBAQCBib29sIENhY2hlZFJlY292ZXJ5
Ojpsb2Fkc0ludG9HUFIoKSBjb25zdAogewogICAgIHN3aXRjaCAocmVjb3ZlcnkoKS50ZWNobmlx
dWUoKSkgewogICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6Ci0jaWYgVVNFKEpTVkFM
VUU2NCkKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJ
bkpTU3RhY2s6CisjZWxpZiBVU0UoSlNWQUxVRTY0KQogICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJ
bkpTU3RhY2s6CiAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICBj
YXNlIERpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKaW5kZXggMzJkNmU0YzBiMzZiZmQ2MWQxNTA1MmY4
NWExMmNhZWNlM2JiYjU1Mi4uY2YxNWNlMTk5ZWQzNzZhZjE1MGU4ODdmM2VlZDAyZmExNWRjN2Iy
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5jcHAKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBVU0Uo
SlNWQUxVRTY0KQotCiB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVS
ZWdpc3RlcnMoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7CiAgICAgc2V0dXBDYWxsZWVTYXZlUmVn
aXN0ZXJzKGNvZGVCbG9jay0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKQEAgLTQ5LDkgKzQ3LDI0
IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhj
b25zdCBSZWdpc3RlckF0T2Zmc2V0TGlzdCoKICAgICAgICAgaWYgKCFjYWxsZWVTYXZlUmVnaXN0
ZXJzLmdldChlbnRyeS5yZWcoKSkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBW
aXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBlbnRyeS5vZmZzZXRBc0luZGV4KCkgfTsKKyAgICAg
ICAgaW50IHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyA9IGVudHJ5Lm9mZnNldEFzSW5kZXgo
KTsKKworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIC8vIENQVSByZWdpc3RlcnMgYXJlIHRo
ZSBzYW1lIHNpemUgYXMgdmlydHVhbCByZWdpc3RlcnMKKyAgICAgICAgVmlydHVhbFJlZ2lzdGVy
IHNhdmVTbG90IHsgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIH07CiAgICAgICAgIHJlZ2lz
dGVyc1tlbnRyeS5yZWcoKV0KICAgICAgICAgICAgID0gVmFsdWVSZWNvdmVyeTo6ZGlzcGxhY2Vk
SW5KU1N0YWNrKHNhdmVTbG90LCBEYXRhRm9ybWF0SlMpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82
NCkKKyAgICAgICAgLy8gT24gMzItYml0IGFyY2hpdGVjdHVyZXMsIDIgY2FsbGVlIHNhdmVkIHJl
Z2lzdGVycyBtYXkgYmUgcGFja2VkIGludG8gdGhlIHNhbWUgc2xvdAorICAgICAgICBzdGF0aWNf
YXNzZXJ0KCFQYXlsb2FkT2Zmc2V0IHx8ICFUYWdPZmZzZXQpOworICAgICAgICBzdGF0aWNfYXNz
ZXJ0KFBheWxvYWRPZmZzZXQgPT0gNCB8fCBUYWdPZmZzZXQgPT0gNCk7CisgICAgICAgIGJvb2wg
aW5UYWcgPSAoc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzICYgMSkgPT0gISFUYWdPZmZzZXQ7
CisgICAgICAgIGlmIChzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgPCAwKQorICAgICAgICAg
ICAgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIC09IDE7IC8vIFJvdW5kIHRvd2FyZHMgLWlu
ZgorICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4SW5DUFVS
ZWdpc3RlcnMgLyAyIH07CisgICAgICAgIHJlZ2lzdGVyc1tlbnRyeS5yZWcoKV0KKyAgICAgICAg
ICAgID0gVmFsdWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayhzYXZl
U2xvdCwgaW5UYWcpOworI2VuZGlmCiAgICAgfQogCiAgICAgZm9yIChSZWcgcmVnID0gUmVnOjpm
aXJzdCgpOyByZWcgPD0gUmVnOjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0KCkpIHsKQEAgLTYxLDEy
ICs3NCwxNCBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVSZWdp
c3RlcnMoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqCiAgICAgICAgIGlmIChyZWdpc3RlcnNb
cmVnXSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAg
ICAgcmVnaXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjppblJlZ2lzdGVyKHJlZywgRGF0YUZv
cm1hdEpTKTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIHJlZ2lzdGVyc1tyZWdd
ID0gVmFsdWVSZWNvdmVyeTo6aW5SZWdpc3RlcihyZWcsIERhdGFGb3JtYXRJbnQzMik7CisjZW5k
aWYKICAgICB9CiB9CiAKLSNlbmRpZiAvLyBVU0UoSlNWQUxVRTY0KQotCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKaW5kZXggYzZiNzBmMDVkMTA5YjE4NWY0ZDEy
YmM3MDlmOGY3NjdjYmJmMWYzNy4uMzM2NTdlMzNhNjRmMzc4MWY0MzA5OThjMTMzMzcxYTFhYTY0
Yjc1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVm
ZmxlRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZURhdGEuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBudW1Mb2Nh
bHMgeyBVSU5UX01BWCB9OwogICAgIHVuc2lnbmVkIG51bVBhc3NlZEFyZ3MgeyBVSU5UX01BWCB9
OwogICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnMgeyBVSU5UX01BWCB9OyAvLyBPbiBvdXIgbWFj
aGluZSBmcmFtZS4KLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgIFJlZ2lzdGVyTWFwPFZhbHVlUmVj
b3Zlcnk+IHJlZ2lzdGVyczsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIEdQUlJlZyBudW1iZXJU
YWdSZWdpc3RlciB7IEludmFsaWRHUFJSZWcgfTsKKyNlbmRpZgogCiAgICAgdm9pZCBzZXR1cENh
bGxlZVNhdmVSZWdpc3RlcnMoQ29kZUJsb2NrKik7CiAgICAgdm9pZCBzZXR1cENhbGxlZVNhdmVS
ZWdpc3RlcnMoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqKTsKLSNlbmRpZgogICAgIFZhbHVl
UmVjb3ZlcnkgY2FsbGVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Nh
bGxGcmFtZVNodWZmbGVyLmNwcAppbmRleCAzYjUzNzRkYTE2NmZmNzE5OWY1ZmFlNDU1YWE2NjYz
ZWJkZWU1M2Q1Li45MzBhYmEyMTI2MDNkYzZiYTM3ZjQ5ZTkyMDliM2Q5YzJhNWJkZDNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcApAQCAt
NTIsMTMgKzUyLDggQEAgQ2FsbEZyYW1lU2h1ZmZsZXI6OkNhbGxGcmFtZVNodWZmbGVyKENDYWxs
SGVscGVycyYgaml0LCBjb25zdCBDYWxsRnJhbWVTaHVmZmxlRGEKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBGUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVyczsgaS0tOyApCiAgICAgICAgIG1fbG9ja2Vk
UmVnaXN0ZXJzLmNsZWFyKEZQUkluZm86OnRvUmVnaXN0ZXIoaSkpOwogCi0jaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICAvLyAuLi4gYXMgd2VsbCBhcyB0aGUgcnVudGltZSByZWdpc3RlcnMgb24gNjQt
Yml0IGFyY2hpdGVjdHVyZXMuCi0gICAgLy8gSG93ZXZlciBkbyBub3QgdXNlIHRoZXNlIHJlZ2lz
dGVycyBvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcyBzaW5jZQotICAgIC8vIHNhdmluZyBhbmQgcmVz
dG9yaW5nIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgaW4gQ2FsbEZyYW1lU2h1ZmZsZXIgaXNuJ3Qg
c3VwcG9ydGVkCi0gICAgLy8gb24gMzItYml0IGFyY2hpdGVjdHVyZXMgeWV0LgorICAgIC8vIC4u
LiBhcyB3ZWxsIGFzIHRoZSBjYWxsZWUgc2F2ZWQgcmVnaXN0ZXJzCiAgICAgbV9sb2NrZWRSZWdp
c3RlcnMuZXhjbHVkZShSZWdpc3RlclNldDo6dm1DYWxsZWVTYXZlUmVnaXN0ZXJzKCkpOwotI2Vu
ZGlmCiAKICAgICBBU1NFUlQoIWRhdGEuY2FsbGVlLmlzSW5KU1N0YWNrKCkgfHwgZGF0YS5jYWxs
ZWUudmlydHVhbFJlZ2lzdGVyKCkuaXNMb2NhbCgpKTsKICAgICBhZGROZXcoQ2FsbEZyYW1lU2xv
dDo6Y2FsbGVlLCBkYXRhLmNhbGxlZSk7CkBAIC02OCwxNyArNjMsMjEgQEAgQ2FsbEZyYW1lU2h1
ZmZsZXI6OkNhbGxGcmFtZVNodWZmbGVyKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBDYWxsRnJh
bWVTaHVmZmxlRGEKICAgICAgICAgYWRkTmV3KHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50SW5j
bHVkaW5nVGhpcyhpKSwgZGF0YS5hcmdzW2ldKTsKICAgICB9CiAKLSNpZiBVU0UoSlNWQUxVRTY0
KQogICAgIGZvciAoUmVnIHJlZyA9IFJlZzo6Zmlyc3QoKTsgcmVnIDw9IFJlZzo6bGFzdCgpOyBy
ZWcgPSByZWcubmV4dCgpKSB7CiAgICAgICAgIGlmICghZGF0YS5yZWdpc3RlcnNbcmVnXS5pc1Nl
dCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKHJlZy5pc0dQUigpKQor
ICAgICAgICBpZiAocmVnLmlzR1BSKCkpIHsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAg
ICAgYWRkTmV3KEpTVmFsdWVSZWdzKHJlZy5ncHIoKSksIGRhdGEucmVnaXN0ZXJzW3JlZ10pOwot
ICAgICAgICBlbHNlCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgYWRkTmV3
KHJlZy5ncHIoKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7CisjZW5kaWYKKyAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICBhZGROZXcocmVnLmZwcigpLCBkYXRhLnJlZ2lzdGVyc1tyZWddKTsKICAg
ICB9CiAKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1fbnVtYmVyVGFnUmVnaXN0ZXIgPSBkYXRh
Lm51bWJlclRhZ1JlZ2lzdGVyOwogICAgIGlmIChtX251bWJlclRhZ1JlZ2lzdGVyICE9IEludmFs
aWRHUFJSZWcpCiAgICAgICAgIGxvY2tHUFIobV9udW1iZXJUYWdSZWdpc3Rlcik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKaW5kZXggZTA0OGE0ZGNh
NjY2NTY5OTFhMDQzYWU5NGI4MDBiYjExNDE2MGIwYy4uYTE3NjI0NGUxZTMwOTU2Njc3MzQ2MGFk
MjA2NTBlMTliYzNkYWQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9D
YWxsRnJhbWVTaHVmZmxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZy
YW1lU2h1ZmZsZXIuaApAQCAtMTE2LDYgKzExNiwxNSBAQCBwdWJsaWM6CiAKICNpZiBVU0UoSlNW
QUxVRTY0KQogICAgICAgICAgICAgZGF0YS5yZWdpc3RlcnNbcmVnXSA9IGNhY2hlZFJlY292ZXJ5
LT5yZWNvdmVyeSgpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgICAgIFZhbHVl
UmVjb3ZlcnkgcmVjb3ZlcnkgPSBjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKTsKKyAgICAgICAg
ICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBEaXNwbGFjZWRJbkpTU3RhY2spIHsKKyAg
ICAgICAgICAgICAgICBKU1ZhbHVlUmVncyB3YW50ZWRKU1ZhbHVlUmVnID0gY2FjaGVkUmVjb3Zl
cnktPndhbnRlZEpTVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHJlZyA9PSB3
YW50ZWRKU1ZhbHVlUmVnLnBheWxvYWRHUFIoKSB8fCByZWcgPT0gd2FudGVkSlNWYWx1ZVJlZy50
YWdHUFIoKSk7CisgICAgICAgICAgICAgICAgYm9vbCBpblRhZyA9IHJlZyA9PSB3YW50ZWRKU1Zh
bHVlUmVnLnRhZ0dQUigpOworICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSBW
YWx1ZVJlY292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKHJlY292ZXJ5LnZp
cnR1YWxSZWdpc3RlcigpLCBpblRhZyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
ICAgICBkYXRhLnJlZ2lzdGVyc1tyZWddID0gcmVjb3Zlcnk7CiAjZWxzZQogICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgpAQCAtNjYzLDYgKzY3MiwzMiBA
QCBwcml2YXRlOgogICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3Mo
anNWYWx1ZVJlZ3MpOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgdm9pZCBh
ZGROZXcoR1BSUmVnIGdwciwgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSkKKyAgICB7CisgICAgICAg
IEFTU0VSVChncHIgIT0gSW52YWxpZEdQUlJlZyAmJiAhbV9uZXdSZWdpc3RlcnNbZ3ByXSk7Cisg
ICAgICAgIEFTU0VSVChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBJbnQzMkRpc3BsYWNlZEluSlNT
dGFjaworICAgICAgICAgICAgfHwgcmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJUYWdEaXNw
bGFjZWRJbkpTU3RhY2spOworICAgICAgICBDYWNoZWRSZWNvdmVyeSogY2FjaGVkUmVjb3Zlcnkg
PSBhZGRDYWNoZWRSZWNvdmVyeShyZWNvdmVyeSk7CisgICAgICAgIGlmIChKU1ZhbHVlUmVncyBv
bGRSZWdzIHsgY2FjaGVkUmVjb3ZlcnktPndhbnRlZEpTVmFsdWVSZWdzKCkgfSkgeworICAgICAg
ICAgICAgLy8gQ29tYmluZSB3aXRoIHRoZSBvdGhlciBDU1IgaW4gdGhlIHNhbWUgdmlydHVhbCBy
ZWdpc3RlciBzbG90CisgICAgICAgICAgICBBU1NFUlQob2xkUmVncy50YWdHUFIoKSA9PSBJbnZh
bGlkR1BSUmVnKTsKKyAgICAgICAgICAgIEFTU0VSVChvbGRSZWdzLnBheWxvYWRHUFIoKSAhPSBJ
bnZhbGlkR1BSUmVnICYmIG9sZFJlZ3MucGF5bG9hZEdQUigpICE9IGdwcik7CisgICAgICAgICAg
ICBpZiAocmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJEaXNwbGFjZWRJbkpTU3RhY2spIHsK
KyAgICAgICAgICAgICAgICBBU1NFUlQoY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCkudGVjaG5p
cXVlKCkgPT0gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2spOworICAgICAgICAgICAgICAgIGNh
Y2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVncyhvbGRSZWdzLnBh
eWxvYWRHUFIoKSwgZ3ByKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IEFTU0VSVChjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMkRp
c3BsYWNlZEluSlNTdGFjayk7CisgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdh
bnRlZEpTVmFsdWVSZWdzKEpTVmFsdWVSZWdzKGdwciwgb2xkUmVncy5wYXlsb2FkR1BSKCkpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRSZWNvdmVyeSgK
KyAgICAgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5OjpkaXNwbGFjZWRJbkpTU3RhY2socmVjb3Zl
cnkudmlydHVhbFJlZ2lzdGVyKCksIERhdGFGb3JtYXRKUykpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVn
czo6cGF5bG9hZE9ubHkoZ3ByKSk7CisgICAgICAgIG1fbmV3UmVnaXN0ZXJzW2dwcl0gPSBjYWNo
ZWRSZWNvdmVyeTsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQgYWRkTmV3KEZQUlJlZyBmcHIs
IFZhbHVlUmVjb3ZlcnkgcmVjb3ZlcnkpCiAgICAgewogICAgICAgICBBU1NFUlQoZnByICE9IElu
dmFsaWRGUFJSZWcgJiYgIW1fbmV3UmVnaXN0ZXJzW2Zwcl0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKaW5kZXggNWRmZTk2
ZTgxZWM5ZjZmYTlmNzdhMGQ2NTE1NjcyNTNiMTZlNzYwOS4uMmZlZjUzZGE2MGEyZTc1YTQ3YzY0
ZjhkMzA0MGM0NjIyMmJiODhlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3BwCkBAIC0xMjQsOCArMTI0LDExIEBAIHZvaWQg
Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKENhY2hlZFJlY292ZXJ5JiBsb2NhdGlvbikKICAg
ICAgICAgaWYgKHJlc3VsdEdQUiA9PSBJbnZhbGlkR1BSUmVnIHx8IG1fcmVnaXN0ZXJzW3Jlc3Vs
dEdQUl0gfHwgbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHJlc3VsdEdQUikpCiAgICAgICAgICAgICBy
ZXN1bHRHUFIgPSBnZXRGcmVlR1BSKCk7CiAgICAgICAgIEFTU0VSVChyZXN1bHRHUFIgIT0gSW52
YWxpZEdQUlJlZyk7Ci0gICAgICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRoT2Zmc2V0KFBh
eWxvYWRPZmZzZXQpLCByZXN1bHRHUFIpOwotICAgICAgICB1cGRhdGVSZWNvdmVyeShsb2NhdGlv
biwgCisgICAgICAgIGlmIChsb2NhdGlvbi5yZWNvdmVyeSgpLnRlY2huaXF1ZSgpID09IEludDMy
VGFnRGlzcGxhY2VkSW5KU1N0YWNrKQorICAgICAgICAgICAgbV9qaXQubG9hZFB0cihhZGRyZXNz
LndpdGhPZmZzZXQoVGFnT2Zmc2V0KSwgcmVzdWx0R1BSKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgbV9qaXQubG9hZFB0cihhZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJl
c3VsdEdQUik7CisgICAgICAgIHVwZGF0ZVJlY292ZXJ5KGxvY2F0aW9uLAogICAgICAgICAgICAg
VmFsdWVSZWNvdmVyeTo6aW5HUFIocmVzdWx0R1BSLCBsb2NhdGlvbi5yZWNvdmVyeSgpLmRhdGFG
b3JtYXQoKSkpOwogICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2cobG9j
YXRpb24ucmVjb3ZlcnkoKSwgIlxuIik7CkBAIC0xOTAsMjggKzE5MywxOCBAQCB2b2lkIENhbGxG
cmFtZVNodWZmbGVyOjplbWl0RGlzcGxhY2UoQ2FjaGVkUmVjb3ZlcnkmIGxvY2F0aW9uKQogICAg
IGlmICh3YW50ZWRUYWdHUFIgIT0gSW52YWxpZEdQUlJlZykgewogICAgICAgICBBU1NFUlQoIW1f
bG9ja2VkUmVnaXN0ZXJzLmdldCh3YW50ZWRUYWdHUFIpKTsKICAgICAgICAgaWYgKENhY2hlZFJl
Y292ZXJ5KiBjdXJyZW50VGFnIHsgbV9yZWdpc3RlcnNbd2FudGVkVGFnR1BSXSB9KSB7Ci0gICAg
ICAgICAgICBpZiAoY3VycmVudFRhZyA9PSAmbG9jYXRpb24pIHsKLSAgICAgICAgICAgICAgICBp
ZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRU
YWdHUFIsICIgaXMgT0tcbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAvLyBUaGlzIGNhbiBuZXZlciBoYXBwZW4gb24gMzJiaXQgcGxhdGZvcm1zIHNpbmNlIHdlCi0g
ICAgICAgICAgICAgICAgLy8gaGF2ZSBhdCBtb3N0IG9uZSB3YW50ZWQgSlNWYWx1ZVJlZ3MsIGZv
ciB0aGUKLSAgICAgICAgICAgICAgICAvLyBjYWxsZWUsIGFuZCBubyBjYWxsZWUtc2F2ZSByZWdp
c3RlcnMuCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnRUYWcgPT0gJmxv
Y2F0aW9uKTsKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFM
b2coIiAgICsgIiwgd2FudGVkVGFnR1BSLCAiIGlzIE9LXG4iKTsKICAgICAgICAgfQogICAgIH0K
IAogICAgIGlmICh3YW50ZWRQYXlsb2FkR1BSICE9IEludmFsaWRHUFJSZWcpIHsKICAgICAgICAg
QVNTRVJUKCFtX2xvY2tlZFJlZ2lzdGVycy5nZXQod2FudGVkUGF5bG9hZEdQUikpOwogICAgICAg
ICBpZiAoQ2FjaGVkUmVjb3ZlcnkqIGN1cnJlbnRQYXlsb2FkIHsgbV9yZWdpc3RlcnNbd2FudGVk
UGF5bG9hZEdQUl0gfSkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnRQYXlsb2FkID09ICZsb2Nh
dGlvbikgewotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAg
ICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFBheWxvYWRHUFIsICIgaXMgT0tcbiIpOwotICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBTZWUgYWJvdmUKLSAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoY3VycmVudFBheWxvYWQgPT0gJmxvY2F0aW9uKTsKKyAgICAg
ICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2Fu
dGVkUGF5bG9hZEdQUiwgIiBpcyBPS1xuIik7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5kZXggNWZmNjI0NzQxYWI3MGU4YzA0MzViZGY5ZDI1YjE5
MTQ2MDM4MWQ5ZS4uMmY3Y2Y1YWJiYjM5OWNhNzQ0M2VhYzgzMjAzMmY2YzA3M2I0MmJjOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAgLTUzOCw3ICs1MzgsNyBAQCBwdWJsaWM6
CiBjbGFzcyBHUFJJbmZvIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEdQUlJlZyBSZWdpc3RlclR5
cGU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDEwOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZBcmd1bWVudFJlZ2lzdGVycyA9
IE5VTUJFUl9PRl9BUkdVTUVOVF9SRUdJU1RFUlM7CiAKICAgICAvLyBUZW1wb3JhcnkgcmVnaXN0
ZXJzLgpAQCAtNTY3LDcgKzU2Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgR1BSUmVnIHRvUmVn
aXN0ZXIodW5zaWduZWQgaW5kZXgpCiAgICAgewogICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1i
ZXJPZlJlZ2lzdGVycyk7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJ
bmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCBy
ZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MxIH07CisgICAgICAgIHN0YXRpYyBjb25z
dCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCBy
ZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MwLCBy
ZWdDUzEgfTsKICAgICAgICAgcmV0dXJuIHJlZ2lzdGVyRm9ySW5kZXhbaW5kZXhdOwogICAgIH0K
IApAQCAtNTgzLDcgKzU4Myw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZh
bGlkR1BSUmVnKTsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8IDE2KTsK
ICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0KLSAg
ICAgICAgICAgIHsgMCwgMSwgMiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgs
IDQsIDUsIDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFs
aWRJbmRleCwgSW52YWxpZEluZGV4IH07CisgICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYs
IEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKICAgICAgICAgdW5zaWdu
ZWQgcmVzdWx0ID0gaW5kZXhGb3JSZWdpc3RlcltyZWddOwogICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJT
ZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKaW5kZXgg
YzUyOWQ3NGFmZWM4ZWE4NjZjMDg2NDY0OTU0YmY3OWExMDhiM2Q5MS4uNjQ2Y2Q0ZjkzNTJlNzQw
ZWVhOWU2MjQ2MTNkYTI2NDJkZmNiNmMwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWdpc3RlclNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlclNldC5jcHAKQEAgLTI1NCw2ICsyNTQsNyBAQCBSZWdpc3RlclNldCBSZWdpc3RlclNl
dDo6ZGZnQ2FsbGVlU2F2ZVJlZ2lzdGVycygpCiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdD
UzYpOwogI2VuZGlmCiAjZWxpZiBDUFUoQVJNX1RIVU1CMikKKyAgICByZXN1bHQuc2V0KEdQUklu
Zm86OnJlZ0NTMCk7CiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdDUzEpOwogI2VsaWYgQ1BV
KEFSTTY0KQogICAgIHN0YXRpY19hc3NlcnQoR1BSSW5mbzo6cmVnQ1M4ID09IEdQUkluZm86Om51
bWJlclRhZ1JlZ2lzdGVyLCAiIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCmluZGV4IDUwZDVkYmRmNjAyYTkx
OTZiZDVjYTUxOTQwMjY0ZmZkODlkNzA2YjQuLmU2ODk3ZGFmMmUyOWEyYWM4NzkyMWYwY2JhZmMz
MWI5YTIxODcwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCkBAIC03OSw4ICs3OSw2IEBAIGVuZAogIyBB
ZnRlciBjYWxsaW5nLCBjYWxsaW5nIGJ5dGVjb2RlIGlzIGNsYWltaW5nIGlucHV0IHJlZ2lzdGVy
cyBhcmUgbm90IHVzZWQuCiBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbChzaXplLCBvcGNvZGVTdHJ1
Y3QsIHZhbHVlUHJvZmlsZU5hbWUsIGRzdFZpcnR1YWxSZWdpc3RlciwgZGlzcGF0Y2gpCiAgICAg
bG9hZGkgQXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKLSAg
ICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgUEIKLSAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1
Y3Rpb25zUmF3UG9pbnRlcltQQl0sIFBCCiAgICAgZ2V0KHNpemUsIG9wY29kZVN0cnVjdCwgZHN0
VmlydHVhbFJlZ2lzdGVyLCB0MykKICAgICBzdG9yZWkgcjEsIFRhZ09mZnNldFtjZnIsIHQzLCA4
XQogICAgIHN0b3JlaSByMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441386</attachid>
            <date>2021-10-15 09:44:29 -0700</date>
            <delta_ts>2021-10-15 09:46:58 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-230622-20211015184427.patch</filename>
            <type>text/plain</type>
            <size>20051</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
NzYwNDY4MTEyY2Y4NTJmYjhjYWNhNmVmYmNiYjFiMDk5Mzc4NmFkLi40M2FmZmVjMGY2NDQwMDRl
OTMzMzJmOWFkY2Q1YWJhZWU1NWQwOTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OSBAQAorMjAyMS0xMC0xNSAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVszMmJpdF0gRml4IENTUiByZXN0b3JlIG9uIERGRyB0YWlsIGNhbGxzLCBh
ZGQgZXh0cmEgcmVnaXN0ZXIgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhYW0gQmFy
YXRpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0d28gdGhpbmdzOgorCisgICAgICAgIDEu
IEFkZHMgYW4gZXh0cmEgY2FsbGVlIHNhdmUgcmVnaXN0ZXIgKENTUikgdG8gYmUgYXZhaWxhYmxl
IHRvIERGRyBvbgorICAgICAgICBBUk12Ny4gVG8gZG8gdGhpcyBwcm9wZXJseSByZXF1aXJlZCB0
aGUgZm9sbG93aW5nOgorCisgICAgICAgIDIuIEltcGxlbWVudHMgdGhlIG5lY2Vzc2FyeSBzaHVm
ZmxpbmcgaW4gQ2FsbEZyYW1lU2h1ZmZsZXIgb24gMzItYml0CisgICAgICAgIGFyY2hpdGVjdHVy
ZXMgdGhhdCBpcyByZXF1aXJlZCB0byByZXN0b3JlIENTUnMgcHJvcGVybHkgYWZ0ZXIgYSB0YWls
CisgICAgICAgIGNhbGwgb24gdGhlc2UgYXJjaGl0ZWN0dXJlcy4gVGhpcyBhbHNvIGZpeGVzIHRo
ZSByZW1haW5pbmcgZmFpbHVyZXMgaW4KKyAgICAgICAgdGhlIDMyLWJpdCBidWlsZCBvZiB0aGUg
dW5saW5rZWQgYmFzZWxpbmUgSklULgorCisgICAgICAgICogYnl0ZWNvZGUvVmFsdWVSZWNvdmVy
eS5jcHA6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmR1bXBJbkNvbnRleHQgY29uc3Qp
OgorICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaDoKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayk6CisgICAgICAgIChK
U0M6OlZhbHVlUmVjb3Zlcnk6OmlzSW5KU1N0YWNrIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6ZGF0YUZvcm1hdCBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zl
cnk6OndpdGhMb2NhbHNPZmZzZXQgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENh
bGwpOgorICAgICAgICAqIGppdC9DYWNoZWRSZWNvdmVyeS5jcHA6CisgICAgICAgIChKU0M6OkNh
Y2hlZFJlY292ZXJ5Ojpsb2Fkc0ludG9HUFIgY29uc3QpOgorICAgICAgICAqIGppdC9DYWxsRnJh
bWVTaHVmZmxlRGF0YS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVEYXRhOjpz
ZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5oOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHA6CisgICAgICAgIChK
U0M6OkNhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVmZmxlcik6CisgICAgICAgICogaml0
L0NhbGxGcmFtZVNodWZmbGVyLmg6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjpz
bmFwc2hvdCBjb25zdCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjphZGROZXcp
OgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKToKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1l
U2h1ZmZsZXI6OmVtaXREaXNwbGFjZSk6CisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAgICAg
ICAgKEpTQzo6R1BSSW5mbzo6dG9SZWdpc3Rlcik6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRv
SW5kZXgpOgorICAgICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgIChKU0M6OlJl
Z2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKToKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorCiAyMDIxLTEwLTE1ICBSb2JpbiBNb3Jpc3NldCAg
PHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0IHIyODQyMzAsIG15IGxhc3Qg
Zml4ZXMgdG8gdGhlIHdhdGNoIGJ1aWxkIG1ha2UgaXQgYnJlYWsgdGVzdHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAppbmRleCBlNDI0NWVh
YmVjM2UzMjI0YTVkYTVmZjc1MjViNTVkYzljYTcwMTY2Li4wODk2MjNiNmY0ZGY4MzljNTY0YmFj
MmJmNDYxMGViNzdlNTczMzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1ZhbHVlUmVjb3ZlcnkuY3BwCkBAIC05OSw2ICs5OSwxMSBAQCB2b2lkIFZhbHVlUmVjb3Zl
cnk6OmR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mIG91dCwgRHVtcENvbnRleHQqIGNvbnRleHQp
IGNvbnN0CiAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgb3V0LnBy
aW50KCIqaW50MzIoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJldHVybjsK
KyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3Rh
Y2s6CisgICAgICAgIG91dC5wcmludCgiKmludDMyVGFnKCIsIHZpcnR1YWxSZWdpc3RlcigpLCAi
KSIpOworICAgICAgICByZXR1cm47CisjZW5kaWYKICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5K
U1N0YWNrOgogICAgICAgICBvdXQucHJpbnQoIippbnQ1MigiLCB2aXJ0dWFsUmVnaXN0ZXIoKSwg
IikiKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9WYWx1ZVJlY292ZXJ5LmgKaW5kZXggNWU0M2JjNzJiYmNjNGZmOTdhNjhmODNkYTgzMDk0ZTU4
ZGEzYjMxNC4uMDgyMjRlZDdjYTViNThmMTVjZDllMWMwMzZiZmU1M2RmYjhhYzM5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBAIC02MCw2
ICs2MCw5IEBAIGVudW0gVmFsdWVSZWNvdmVyeVRlY2huaXF1ZSA6IHVpbnQ4X3QgewogICAgIERp
c3BsYWNlZEluSlNTdGFjaywKICAgICAvLyBJdCdzIGluIHRoZSBzdGFjaywgYXQgYSBkaWZmZXJl
bnQgbG9jYXRpb24sIGFuZCBpdCdzIHVuYm94ZWQuCiAgICAgSW50MzJEaXNwbGFjZWRJbkpTU3Rh
Y2ssCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFj
aywgLy8gaW50MzIgc3RvcmVkIGluIHRhZyBmaWVsZAorI2VuZGlmCiAgICAgSW50NTJEaXNwbGFj
ZWRJbkpTU3RhY2ssCiAgICAgU3RyaWN0SW50NTJEaXNwbGFjZWRJbkpTU3RhY2ssCiAgICAgRG91
YmxlRGlzcGxhY2VkSW5KU1N0YWNrLApAQCAtMTg3LDcgKzE5MCwxOSBAQCBwdWJsaWM6CiAgICAg
ICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQotICAgIAorCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBzdGF0aWMgVmFsdWVS
ZWNvdmVyeSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKFZpcnR1YWxSZWdpc3RlciB2
aXJ0dWFsUmVnLCBib29sIGluVGFnKQorICAgIHsKKyAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1
bHQ7CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxSZWcgPSB2aXJ0dWFs
UmVnLm9mZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOworICAg
ICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBpblRhZyA/IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0
YWNrIDogSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s7CisgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgfQorI2VuZGlmCisKICAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjb25zdGFudChKU1ZhbHVl
IHZhbHVlKQogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CkBAIC0yNTgsNiAr
MjczLDkgQEAgcHVibGljOgogICAgICAgICBzd2l0Y2ggKG1fdGVjaG5pcXVlKSB7CiAgICAgICAg
IGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5K
U1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdEaXNw
bGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNT
dGFjazoKICAgICAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAg
ICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0yODIsNiArMzAwLDkgQEAgcHVi
bGljOgogICAgICAgICAgICAgcmV0dXJuIERhdGFGb3JtYXRKUzsKICAgICAgICAgY2FzZSBVbmJv
eGVkSW50MzJJbkdQUjoKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNp
ZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0
YWNrOgorI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gRGF0YUZvcm1hdEludDMyOwogICAgICAg
ICBjYXNlIFVuYm94ZWRJbnQ1MkluR1BSOgogICAgICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5K
U1N0YWNrOgpAQCAtMzU4LDYgKzM3OSw5IEBAIHB1YmxpYzoKICAgICAgICAgc3dpdGNoIChtX3Rl
Y2huaXF1ZSkgewogICAgICAgICBjYXNlIERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2Fz
ZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAg
ICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorI2VuZGlmCiAgICAgICAgIGNhc2Ug
RG91YmxlRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIENlbGxEaXNwbGFjZWRJbkpT
U3RhY2s6CiAgICAgICAgIGNhc2UgQm9vbGVhbkRpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmlu
ZGV4IDZhMGYyNTIwZWEzN2U3YjYzNjRhYTVhNDdiMDMzN2Y3NjkyNTQ2ZmUuLmQ0ZjQ0MjU3ZDc4
NTI1NGU4YjA5ZmEwOWIyNmZjMDA5OWJmYzAxNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNzQyLDYgKzc0Miw4
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG51bVBhc3NlZEFyZ3M7IGkgPCBudW1B
bGxvY2F0ZWRBcmdzOyArK2kpCiAgICAgICAgICAgICAgICAgc2h1ZmZsZURhdGEuYXJnc1tpXSA9
IFZhbHVlUmVjb3Zlcnk6OmNvbnN0YW50KGpzVW5kZWZpbmVkKCkpOworCisgICAgICAgICAgICBz
aHVmZmxlRGF0YS5zZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMobV9qaXQuY29kZUJsb2NrKCkpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTMyKG51bVBhc3NlZEFyZ3MpLCBtX2ppdC5jYWxsZWVGcmFtZVBheWxvYWRT
bG90KENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKSk7CiAgICAgICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAppbmRleCBm
NGFhY2M2YzgwZWU1NTA5MDg0Nzc4NTM2ZWM3YjA4NmMxODgyMzAzLi4wMGU3MWY0ODdkYjMyYThj
ZGQxNmU1NjIwMjMzMWM1MWZiOTFlMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NhY2hlZFJlY292ZXJ5LmNwcApAQCAtNTIsNyArNTIsOSBAQCBib29sIENhY2hlZFJlY292ZXJ5
Ojpsb2Fkc0ludG9HUFIoKSBjb25zdAogewogICAgIHN3aXRjaCAocmVjb3ZlcnkoKS50ZWNobmlx
dWUoKSkgewogICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6Ci0jaWYgVVNFKEpTVkFM
VUU2NCkKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJ
bkpTU3RhY2s6CisjZWxpZiBVU0UoSlNWQUxVRTY0KQogICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJ
bkpTU3RhY2s6CiAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICBj
YXNlIERpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKaW5kZXggMzJkNmU0YzBiMzZiZmQ2MWQxNTA1MmY4
NWExMmNhZWNlM2JiYjU1Mi4uY2YxNWNlMTk5ZWQzNzZhZjE1MGU4ODdmM2VlZDAyZmExNWRjN2Iy
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5jcHAKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBVU0Uo
SlNWQUxVRTY0KQotCiB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVS
ZWdpc3RlcnMoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7CiAgICAgc2V0dXBDYWxsZWVTYXZlUmVn
aXN0ZXJzKGNvZGVCbG9jay0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKQEAgLTQ5LDkgKzQ3LDI0
IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhj
b25zdCBSZWdpc3RlckF0T2Zmc2V0TGlzdCoKICAgICAgICAgaWYgKCFjYWxsZWVTYXZlUmVnaXN0
ZXJzLmdldChlbnRyeS5yZWcoKSkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBW
aXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBlbnRyeS5vZmZzZXRBc0luZGV4KCkgfTsKKyAgICAg
ICAgaW50IHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyA9IGVudHJ5Lm9mZnNldEFzSW5kZXgo
KTsKKworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIC8vIENQVSByZWdpc3RlcnMgYXJlIHRo
ZSBzYW1lIHNpemUgYXMgdmlydHVhbCByZWdpc3RlcnMKKyAgICAgICAgVmlydHVhbFJlZ2lzdGVy
IHNhdmVTbG90IHsgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIH07CiAgICAgICAgIHJlZ2lz
dGVyc1tlbnRyeS5yZWcoKV0KICAgICAgICAgICAgID0gVmFsdWVSZWNvdmVyeTo6ZGlzcGxhY2Vk
SW5KU1N0YWNrKHNhdmVTbG90LCBEYXRhRm9ybWF0SlMpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82
NCkKKyAgICAgICAgLy8gT24gMzItYml0IGFyY2hpdGVjdHVyZXMsIDIgY2FsbGVlIHNhdmVkIHJl
Z2lzdGVycyBtYXkgYmUgcGFja2VkIGludG8gdGhlIHNhbWUgc2xvdAorICAgICAgICBzdGF0aWNf
YXNzZXJ0KCFQYXlsb2FkT2Zmc2V0IHx8ICFUYWdPZmZzZXQpOworICAgICAgICBzdGF0aWNfYXNz
ZXJ0KFBheWxvYWRPZmZzZXQgPT0gNCB8fCBUYWdPZmZzZXQgPT0gNCk7CisgICAgICAgIGJvb2wg
aW5UYWcgPSAoc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzICYgMSkgPT0gISFUYWdPZmZzZXQ7
CisgICAgICAgIGlmIChzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgPCAwKQorICAgICAgICAg
ICAgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIC09IDE7IC8vIFJvdW5kIHRvd2FyZHMgLWlu
ZgorICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4SW5DUFVS
ZWdpc3RlcnMgLyAyIH07CisgICAgICAgIHJlZ2lzdGVyc1tlbnRyeS5yZWcoKV0KKyAgICAgICAg
ICAgID0gVmFsdWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayhzYXZl
U2xvdCwgaW5UYWcpOworI2VuZGlmCiAgICAgfQogCiAgICAgZm9yIChSZWcgcmVnID0gUmVnOjpm
aXJzdCgpOyByZWcgPD0gUmVnOjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0KCkpIHsKQEAgLTYxLDEy
ICs3NCwxNCBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVSZWdp
c3RlcnMoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqCiAgICAgICAgIGlmIChyZWdpc3RlcnNb
cmVnXSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAg
ICAgcmVnaXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjppblJlZ2lzdGVyKHJlZywgRGF0YUZv
cm1hdEpTKTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIHJlZ2lzdGVyc1tyZWdd
ID0gVmFsdWVSZWNvdmVyeTo6aW5SZWdpc3RlcihyZWcsIERhdGFGb3JtYXRJbnQzMik7CisjZW5k
aWYKICAgICB9CiB9CiAKLSNlbmRpZiAvLyBVU0UoSlNWQUxVRTY0KQotCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKaW5kZXggYzZiNzBmMDVkMTA5YjE4NWY0ZDEy
YmM3MDlmOGY3NjdjYmJmMWYzNy4uMzM2NTdlMzNhNjRmMzc4MWY0MzA5OThjMTMzMzcxYTFhYTY0
Yjc1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVm
ZmxlRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZURhdGEuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBudW1Mb2Nh
bHMgeyBVSU5UX01BWCB9OwogICAgIHVuc2lnbmVkIG51bVBhc3NlZEFyZ3MgeyBVSU5UX01BWCB9
OwogICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnMgeyBVSU5UX01BWCB9OyAvLyBPbiBvdXIgbWFj
aGluZSBmcmFtZS4KLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgIFJlZ2lzdGVyTWFwPFZhbHVlUmVj
b3Zlcnk+IHJlZ2lzdGVyczsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIEdQUlJlZyBudW1iZXJU
YWdSZWdpc3RlciB7IEludmFsaWRHUFJSZWcgfTsKKyNlbmRpZgogCiAgICAgdm9pZCBzZXR1cENh
bGxlZVNhdmVSZWdpc3RlcnMoQ29kZUJsb2NrKik7CiAgICAgdm9pZCBzZXR1cENhbGxlZVNhdmVS
ZWdpc3RlcnMoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqKTsKLSNlbmRpZgogICAgIFZhbHVl
UmVjb3ZlcnkgY2FsbGVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Nh
bGxGcmFtZVNodWZmbGVyLmNwcAppbmRleCAzYjUzNzRkYTE2NmZmNzE5OWY1ZmFlNDU1YWE2NjYz
ZWJkZWU1M2Q1Li45MzBhYmEyMTI2MDNkYzZiYTM3ZjQ5ZTkyMDliM2Q5YzJhNWJkZDNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcApAQCAt
NTIsMTMgKzUyLDggQEAgQ2FsbEZyYW1lU2h1ZmZsZXI6OkNhbGxGcmFtZVNodWZmbGVyKENDYWxs
SGVscGVycyYgaml0LCBjb25zdCBDYWxsRnJhbWVTaHVmZmxlRGEKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBGUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVyczsgaS0tOyApCiAgICAgICAgIG1fbG9ja2Vk
UmVnaXN0ZXJzLmNsZWFyKEZQUkluZm86OnRvUmVnaXN0ZXIoaSkpOwogCi0jaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICAvLyAuLi4gYXMgd2VsbCBhcyB0aGUgcnVudGltZSByZWdpc3RlcnMgb24gNjQt
Yml0IGFyY2hpdGVjdHVyZXMuCi0gICAgLy8gSG93ZXZlciBkbyBub3QgdXNlIHRoZXNlIHJlZ2lz
dGVycyBvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcyBzaW5jZQotICAgIC8vIHNhdmluZyBhbmQgcmVz
dG9yaW5nIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgaW4gQ2FsbEZyYW1lU2h1ZmZsZXIgaXNuJ3Qg
c3VwcG9ydGVkCi0gICAgLy8gb24gMzItYml0IGFyY2hpdGVjdHVyZXMgeWV0LgorICAgIC8vIC4u
LiBhcyB3ZWxsIGFzIHRoZSBjYWxsZWUgc2F2ZWQgcmVnaXN0ZXJzCiAgICAgbV9sb2NrZWRSZWdp
c3RlcnMuZXhjbHVkZShSZWdpc3RlclNldDo6dm1DYWxsZWVTYXZlUmVnaXN0ZXJzKCkpOwotI2Vu
ZGlmCiAKICAgICBBU1NFUlQoIWRhdGEuY2FsbGVlLmlzSW5KU1N0YWNrKCkgfHwgZGF0YS5jYWxs
ZWUudmlydHVhbFJlZ2lzdGVyKCkuaXNMb2NhbCgpKTsKICAgICBhZGROZXcoQ2FsbEZyYW1lU2xv
dDo6Y2FsbGVlLCBkYXRhLmNhbGxlZSk7CkBAIC02OCwxNyArNjMsMjEgQEAgQ2FsbEZyYW1lU2h1
ZmZsZXI6OkNhbGxGcmFtZVNodWZmbGVyKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBDYWxsRnJh
bWVTaHVmZmxlRGEKICAgICAgICAgYWRkTmV3KHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50SW5j
bHVkaW5nVGhpcyhpKSwgZGF0YS5hcmdzW2ldKTsKICAgICB9CiAKLSNpZiBVU0UoSlNWQUxVRTY0
KQogICAgIGZvciAoUmVnIHJlZyA9IFJlZzo6Zmlyc3QoKTsgcmVnIDw9IFJlZzo6bGFzdCgpOyBy
ZWcgPSByZWcubmV4dCgpKSB7CiAgICAgICAgIGlmICghZGF0YS5yZWdpc3RlcnNbcmVnXS5pc1Nl
dCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKHJlZy5pc0dQUigpKQor
ICAgICAgICBpZiAocmVnLmlzR1BSKCkpIHsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAg
ICAgYWRkTmV3KEpTVmFsdWVSZWdzKHJlZy5ncHIoKSksIGRhdGEucmVnaXN0ZXJzW3JlZ10pOwot
ICAgICAgICBlbHNlCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgYWRkTmV3
KHJlZy5ncHIoKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7CisjZW5kaWYKKyAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICBhZGROZXcocmVnLmZwcigpLCBkYXRhLnJlZ2lzdGVyc1tyZWddKTsKICAg
ICB9CiAKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1fbnVtYmVyVGFnUmVnaXN0ZXIgPSBkYXRh
Lm51bWJlclRhZ1JlZ2lzdGVyOwogICAgIGlmIChtX251bWJlclRhZ1JlZ2lzdGVyICE9IEludmFs
aWRHUFJSZWcpCiAgICAgICAgIGxvY2tHUFIobV9udW1iZXJUYWdSZWdpc3Rlcik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKaW5kZXggZTA0OGE0ZGNh
NjY2NTY5OTFhMDQzYWU5NGI4MDBiYjExNDE2MGIwYy4uYTE3NjI0NGUxZTMwOTU2Njc3MzQ2MGFk
MjA2NTBlMTliYzNkYWQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9D
YWxsRnJhbWVTaHVmZmxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZy
YW1lU2h1ZmZsZXIuaApAQCAtMTE2LDYgKzExNiwxNSBAQCBwdWJsaWM6CiAKICNpZiBVU0UoSlNW
QUxVRTY0KQogICAgICAgICAgICAgZGF0YS5yZWdpc3RlcnNbcmVnXSA9IGNhY2hlZFJlY292ZXJ5
LT5yZWNvdmVyeSgpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgICAgIFZhbHVl
UmVjb3ZlcnkgcmVjb3ZlcnkgPSBjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKTsKKyAgICAgICAg
ICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBEaXNwbGFjZWRJbkpTU3RhY2spIHsKKyAg
ICAgICAgICAgICAgICBKU1ZhbHVlUmVncyB3YW50ZWRKU1ZhbHVlUmVnID0gY2FjaGVkUmVjb3Zl
cnktPndhbnRlZEpTVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHJlZyA9PSB3
YW50ZWRKU1ZhbHVlUmVnLnBheWxvYWRHUFIoKSB8fCByZWcgPT0gd2FudGVkSlNWYWx1ZVJlZy50
YWdHUFIoKSk7CisgICAgICAgICAgICAgICAgYm9vbCBpblRhZyA9IHJlZyA9PSB3YW50ZWRKU1Zh
bHVlUmVnLnRhZ0dQUigpOworICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSBW
YWx1ZVJlY292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKHJlY292ZXJ5LnZp
cnR1YWxSZWdpc3RlcigpLCBpblRhZyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
ICAgICBkYXRhLnJlZ2lzdGVyc1tyZWddID0gcmVjb3Zlcnk7CiAjZWxzZQogICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgpAQCAtNjYzLDYgKzY3MiwzMiBA
QCBwcml2YXRlOgogICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3Mo
anNWYWx1ZVJlZ3MpOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgdm9pZCBh
ZGROZXcoR1BSUmVnIGdwciwgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSkKKyAgICB7CisgICAgICAg
IEFTU0VSVChncHIgIT0gSW52YWxpZEdQUlJlZyAmJiAhbV9uZXdSZWdpc3RlcnNbZ3ByXSk7Cisg
ICAgICAgIEFTU0VSVChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBJbnQzMkRpc3BsYWNlZEluSlNT
dGFjaworICAgICAgICAgICAgfHwgcmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJUYWdEaXNw
bGFjZWRJbkpTU3RhY2spOworICAgICAgICBDYWNoZWRSZWNvdmVyeSogY2FjaGVkUmVjb3Zlcnkg
PSBhZGRDYWNoZWRSZWNvdmVyeShyZWNvdmVyeSk7CisgICAgICAgIGlmIChKU1ZhbHVlUmVncyBv
bGRSZWdzIHsgY2FjaGVkUmVjb3ZlcnktPndhbnRlZEpTVmFsdWVSZWdzKCkgfSkgeworICAgICAg
ICAgICAgLy8gQ29tYmluZSB3aXRoIHRoZSBvdGhlciBDU1IgaW4gdGhlIHNhbWUgdmlydHVhbCBy
ZWdpc3RlciBzbG90CisgICAgICAgICAgICBBU1NFUlQob2xkUmVncy50YWdHUFIoKSA9PSBJbnZh
bGlkR1BSUmVnKTsKKyAgICAgICAgICAgIEFTU0VSVChvbGRSZWdzLnBheWxvYWRHUFIoKSAhPSBJ
bnZhbGlkR1BSUmVnICYmIG9sZFJlZ3MucGF5bG9hZEdQUigpICE9IGdwcik7CisgICAgICAgICAg
ICBpZiAocmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJEaXNwbGFjZWRJbkpTU3RhY2spIHsK
KyAgICAgICAgICAgICAgICBBU1NFUlQoY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCkudGVjaG5p
cXVlKCkgPT0gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2spOworICAgICAgICAgICAgICAgIGNh
Y2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVncyhvbGRSZWdzLnBh
eWxvYWRHUFIoKSwgZ3ByKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IEFTU0VSVChjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMkRp
c3BsYWNlZEluSlNTdGFjayk7CisgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdh
bnRlZEpTVmFsdWVSZWdzKEpTVmFsdWVSZWdzKGdwciwgb2xkUmVncy5wYXlsb2FkR1BSKCkpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRSZWNvdmVyeSgK
KyAgICAgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5OjpkaXNwbGFjZWRJbkpTU3RhY2socmVjb3Zl
cnkudmlydHVhbFJlZ2lzdGVyKCksIERhdGFGb3JtYXRKUykpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVn
czo6cGF5bG9hZE9ubHkoZ3ByKSk7CisgICAgICAgIG1fbmV3UmVnaXN0ZXJzW2dwcl0gPSBjYWNo
ZWRSZWNvdmVyeTsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQgYWRkTmV3KEZQUlJlZyBmcHIs
IFZhbHVlUmVjb3ZlcnkgcmVjb3ZlcnkpCiAgICAgewogICAgICAgICBBU1NFUlQoZnByICE9IElu
dmFsaWRGUFJSZWcgJiYgIW1fbmV3UmVnaXN0ZXJzW2Zwcl0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKaW5kZXggNWRmZTk2
ZTgxZWM5ZjZmYTlmNzdhMGQ2NTE1NjcyNTNiMTZlNzYwOS4uMmZlZjUzZGE2MGEyZTc1YTQ3YzY0
ZjhkMzA0MGM0NjIyMmJiODhlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3BwCkBAIC0xMjQsOCArMTI0LDExIEBAIHZvaWQg
Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKENhY2hlZFJlY292ZXJ5JiBsb2NhdGlvbikKICAg
ICAgICAgaWYgKHJlc3VsdEdQUiA9PSBJbnZhbGlkR1BSUmVnIHx8IG1fcmVnaXN0ZXJzW3Jlc3Vs
dEdQUl0gfHwgbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHJlc3VsdEdQUikpCiAgICAgICAgICAgICBy
ZXN1bHRHUFIgPSBnZXRGcmVlR1BSKCk7CiAgICAgICAgIEFTU0VSVChyZXN1bHRHUFIgIT0gSW52
YWxpZEdQUlJlZyk7Ci0gICAgICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRoT2Zmc2V0KFBh
eWxvYWRPZmZzZXQpLCByZXN1bHRHUFIpOwotICAgICAgICB1cGRhdGVSZWNvdmVyeShsb2NhdGlv
biwgCisgICAgICAgIGlmIChsb2NhdGlvbi5yZWNvdmVyeSgpLnRlY2huaXF1ZSgpID09IEludDMy
VGFnRGlzcGxhY2VkSW5KU1N0YWNrKQorICAgICAgICAgICAgbV9qaXQubG9hZFB0cihhZGRyZXNz
LndpdGhPZmZzZXQoVGFnT2Zmc2V0KSwgcmVzdWx0R1BSKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgbV9qaXQubG9hZFB0cihhZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJl
c3VsdEdQUik7CisgICAgICAgIHVwZGF0ZVJlY292ZXJ5KGxvY2F0aW9uLAogICAgICAgICAgICAg
VmFsdWVSZWNvdmVyeTo6aW5HUFIocmVzdWx0R1BSLCBsb2NhdGlvbi5yZWNvdmVyeSgpLmRhdGFG
b3JtYXQoKSkpOwogICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2cobG9j
YXRpb24ucmVjb3ZlcnkoKSwgIlxuIik7CkBAIC0xOTAsMjggKzE5MywxOCBAQCB2b2lkIENhbGxG
cmFtZVNodWZmbGVyOjplbWl0RGlzcGxhY2UoQ2FjaGVkUmVjb3ZlcnkmIGxvY2F0aW9uKQogICAg
IGlmICh3YW50ZWRUYWdHUFIgIT0gSW52YWxpZEdQUlJlZykgewogICAgICAgICBBU1NFUlQoIW1f
bG9ja2VkUmVnaXN0ZXJzLmdldCh3YW50ZWRUYWdHUFIpKTsKICAgICAgICAgaWYgKENhY2hlZFJl
Y292ZXJ5KiBjdXJyZW50VGFnIHsgbV9yZWdpc3RlcnNbd2FudGVkVGFnR1BSXSB9KSB7Ci0gICAg
ICAgICAgICBpZiAoY3VycmVudFRhZyA9PSAmbG9jYXRpb24pIHsKLSAgICAgICAgICAgICAgICBp
ZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRU
YWdHUFIsICIgaXMgT0tcbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAvLyBUaGlzIGNhbiBuZXZlciBoYXBwZW4gb24gMzJiaXQgcGxhdGZvcm1zIHNpbmNlIHdlCi0g
ICAgICAgICAgICAgICAgLy8gaGF2ZSBhdCBtb3N0IG9uZSB3YW50ZWQgSlNWYWx1ZVJlZ3MsIGZv
ciB0aGUKLSAgICAgICAgICAgICAgICAvLyBjYWxsZWUsIGFuZCBubyBjYWxsZWUtc2F2ZSByZWdp
c3RlcnMuCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnRUYWcgPT0gJmxv
Y2F0aW9uKTsKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFM
b2coIiAgICsgIiwgd2FudGVkVGFnR1BSLCAiIGlzIE9LXG4iKTsKICAgICAgICAgfQogICAgIH0K
IAogICAgIGlmICh3YW50ZWRQYXlsb2FkR1BSICE9IEludmFsaWRHUFJSZWcpIHsKICAgICAgICAg
QVNTRVJUKCFtX2xvY2tlZFJlZ2lzdGVycy5nZXQod2FudGVkUGF5bG9hZEdQUikpOwogICAgICAg
ICBpZiAoQ2FjaGVkUmVjb3ZlcnkqIGN1cnJlbnRQYXlsb2FkIHsgbV9yZWdpc3RlcnNbd2FudGVk
UGF5bG9hZEdQUl0gfSkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnRQYXlsb2FkID09ICZsb2Nh
dGlvbikgewotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAg
ICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFBheWxvYWRHUFIsICIgaXMgT0tcbiIpOwotICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBTZWUgYWJvdmUKLSAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoY3VycmVudFBheWxvYWQgPT0gJmxvY2F0aW9uKTsKKyAgICAg
ICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2Fu
dGVkUGF5bG9hZEdQUiwgIiBpcyBPS1xuIik7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5kZXggNWZmNjI0NzQxYWI3MGU4YzA0MzViZGY5ZDI1YjE5
MTQ2MDM4MWQ5ZS4uMmY3Y2Y1YWJiYjM5OWNhNzQ0M2VhYzgzMjAzMmY2YzA3M2I0MmJjOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAgLTUzOCw3ICs1MzgsNyBAQCBwdWJsaWM6
CiBjbGFzcyBHUFJJbmZvIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEdQUlJlZyBSZWdpc3RlclR5
cGU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDEwOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZBcmd1bWVudFJlZ2lzdGVycyA9
IE5VTUJFUl9PRl9BUkdVTUVOVF9SRUdJU1RFUlM7CiAKICAgICAvLyBUZW1wb3JhcnkgcmVnaXN0
ZXJzLgpAQCAtNTY3LDcgKzU2Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgR1BSUmVnIHRvUmVn
aXN0ZXIodW5zaWduZWQgaW5kZXgpCiAgICAgewogICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1i
ZXJPZlJlZ2lzdGVycyk7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJ
bmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCBy
ZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MxIH07CisgICAgICAgIHN0YXRpYyBjb25z
dCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCBy
ZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MwLCBy
ZWdDUzEgfTsKICAgICAgICAgcmV0dXJuIHJlZ2lzdGVyRm9ySW5kZXhbaW5kZXhdOwogICAgIH0K
IApAQCAtNTgzLDcgKzU4Myw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZh
bGlkR1BSUmVnKTsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8IDE2KTsK
ICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0KLSAg
ICAgICAgICAgIHsgMCwgMSwgMiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgs
IDQsIDUsIDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFs
aWRJbmRleCwgSW52YWxpZEluZGV4IH07CisgICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYs
IEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKICAgICAgICAgdW5zaWdu
ZWQgcmVzdWx0ID0gaW5kZXhGb3JSZWdpc3RlcltyZWddOwogICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJT
ZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKaW5kZXgg
YzUyOWQ3NGFmZWM4ZWE4NjZjMDg2NDY0OTU0YmY3OWExMDhiM2Q5MS4uNjQ2Y2Q0ZjkzNTJlNzQw
ZWVhOWU2MjQ2MTNkYTI2NDJkZmNiNmMwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWdpc3RlclNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlclNldC5jcHAKQEAgLTI1NCw2ICsyNTQsNyBAQCBSZWdpc3RlclNldCBSZWdpc3RlclNl
dDo6ZGZnQ2FsbGVlU2F2ZVJlZ2lzdGVycygpCiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdD
UzYpOwogI2VuZGlmCiAjZWxpZiBDUFUoQVJNX1RIVU1CMikKKyAgICByZXN1bHQuc2V0KEdQUklu
Zm86OnJlZ0NTMCk7CiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdDUzEpOwogI2VsaWYgQ1BV
KEFSTTY0KQogICAgIHN0YXRpY19hc3NlcnQoR1BSSW5mbzo6cmVnQ1M4ID09IEdQUkluZm86Om51
bWJlclRhZ1JlZ2lzdGVyLCAiIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCmluZGV4IDUwZDVkYmRmNjAyYTkx
OTZiZDVjYTUxOTQwMjY0ZmZkODlkNzA2YjQuLmU2ODk3ZGFmMmUyOWEyYWM4NzkyMWYwY2JhZmMz
MWI5YTIxODcwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCkBAIC03OSw4ICs3OSw2IEBAIGVuZAogIyBB
ZnRlciBjYWxsaW5nLCBjYWxsaW5nIGJ5dGVjb2RlIGlzIGNsYWltaW5nIGlucHV0IHJlZ2lzdGVy
cyBhcmUgbm90IHVzZWQuCiBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbChzaXplLCBvcGNvZGVTdHJ1
Y3QsIHZhbHVlUHJvZmlsZU5hbWUsIGRzdFZpcnR1YWxSZWdpc3RlciwgZGlzcGF0Y2gpCiAgICAg
bG9hZGkgQXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKLSAg
ICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgUEIKLSAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1
Y3Rpb25zUmF3UG9pbnRlcltQQl0sIFBCCiAgICAgZ2V0KHNpemUsIG9wY29kZVN0cnVjdCwgZHN0
VmlydHVhbFJlZ2lzdGVyLCB0MykKICAgICBzdG9yZWkgcjEsIFRhZ09mZnNldFtjZnIsIHQzLCA4
XQogICAgIHN0b3JlaSByMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441388</attachid>
            <date>2021-10-15 09:47:04 -0700</date>
            <delta_ts>2021-10-15 10:41:02 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-230622-20211015184702.patch</filename>
            <type>text/plain</type>
            <size>20051</size>
            <attacher name="Angelos Oikonomopoulos">angelos</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
NzYwNDY4MTEyY2Y4NTJmYjhjYWNhNmVmYmNiYjFiMDk5Mzc4NmFkLi40M2FmZmVjMGY2NDQwMDRl
OTMzMzJmOWFkY2Q1YWJhZWU1NWQwOTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OSBAQAorMjAyMS0xMC0xNSAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVszMmJpdF0gRml4IENTUiByZXN0b3JlIG9uIERGRyB0YWlsIGNhbGxzLCBh
ZGQgZXh0cmEgcmVnaXN0ZXIgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhYW0gQmFy
YXRpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0d28gdGhpbmdzOgorCisgICAgICAgIDEu
IEFkZHMgYW4gZXh0cmEgY2FsbGVlIHNhdmUgcmVnaXN0ZXIgKENTUikgdG8gYmUgYXZhaWxhYmxl
IHRvIERGRyBvbgorICAgICAgICBBUk12Ny4gVG8gZG8gdGhpcyBwcm9wZXJseSByZXF1aXJlZCB0
aGUgZm9sbG93aW5nOgorCisgICAgICAgIDIuIEltcGxlbWVudHMgdGhlIG5lY2Vzc2FyeSBzaHVm
ZmxpbmcgaW4gQ2FsbEZyYW1lU2h1ZmZsZXIgb24gMzItYml0CisgICAgICAgIGFyY2hpdGVjdHVy
ZXMgdGhhdCBpcyByZXF1aXJlZCB0byByZXN0b3JlIENTUnMgcHJvcGVybHkgYWZ0ZXIgYSB0YWls
CisgICAgICAgIGNhbGwgb24gdGhlc2UgYXJjaGl0ZWN0dXJlcy4gVGhpcyBhbHNvIGZpeGVzIHRo
ZSByZW1haW5pbmcgZmFpbHVyZXMgaW4KKyAgICAgICAgdGhlIDMyLWJpdCBidWlsZCBvZiB0aGUg
dW5saW5rZWQgYmFzZWxpbmUgSklULgorCisgICAgICAgICogYnl0ZWNvZGUvVmFsdWVSZWNvdmVy
eS5jcHA6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmR1bXBJbkNvbnRleHQgY29uc3Qp
OgorICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaDoKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayk6CisgICAgICAgIChK
U0M6OlZhbHVlUmVjb3Zlcnk6OmlzSW5KU1N0YWNrIGNvbnN0KToKKyAgICAgICAgKEpTQzo6VmFs
dWVSZWNvdmVyeTo6ZGF0YUZvcm1hdCBjb25zdCk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zl
cnk6OndpdGhMb2NhbHNPZmZzZXQgY29uc3QpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENh
bGwpOgorICAgICAgICAqIGppdC9DYWNoZWRSZWNvdmVyeS5jcHA6CisgICAgICAgIChKU0M6OkNh
Y2hlZFJlY292ZXJ5Ojpsb2Fkc0ludG9HUFIgY29uc3QpOgorICAgICAgICAqIGppdC9DYWxsRnJh
bWVTaHVmZmxlRGF0YS5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVEYXRhOjpz
ZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5oOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHA6CisgICAgICAgIChK
U0M6OkNhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVTaHVmZmxlcik6CisgICAgICAgICogaml0
L0NhbGxGcmFtZVNodWZmbGVyLmg6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjpz
bmFwc2hvdCBjb25zdCk6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjphZGROZXcp
OgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKToKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1l
U2h1ZmZsZXI6OmVtaXREaXNwbGFjZSk6CisgICAgICAgICogaml0L0dQUkluZm8uaDoKKyAgICAg
ICAgKEpTQzo6R1BSSW5mbzo6dG9SZWdpc3Rlcik6CisgICAgICAgIChKU0M6OkdQUkluZm86OnRv
SW5kZXgpOgorICAgICAgICAqIGppdC9SZWdpc3RlclNldC5jcHA6CisgICAgICAgIChKU0M6OlJl
Z2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJzKToKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorCiAyMDIxLTEwLTE1ICBSb2JpbiBNb3Jpc3NldCAg
PHJtb3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0IHIyODQyMzAsIG15IGxhc3Qg
Zml4ZXMgdG8gdGhlIHdhdGNoIGJ1aWxkIG1ha2UgaXQgYnJlYWsgdGVzdHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAppbmRleCBlNDI0NWVh
YmVjM2UzMjI0YTVkYTVmZjc1MjViNTVkYzljYTcwMTY2Li4wODk2MjNiNmY0ZGY4MzljNTY0YmFj
MmJmNDYxMGViNzdlNTczMzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1ZhbHVlUmVjb3ZlcnkuY3BwCkBAIC05OSw2ICs5OSwxMSBAQCB2b2lkIFZhbHVlUmVjb3Zl
cnk6OmR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mIG91dCwgRHVtcENvbnRleHQqIGNvbnRleHQp
IGNvbnN0CiAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgb3V0LnBy
aW50KCIqaW50MzIoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CiAgICAgICAgIHJldHVybjsK
KyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3Rh
Y2s6CisgICAgICAgIG91dC5wcmludCgiKmludDMyVGFnKCIsIHZpcnR1YWxSZWdpc3RlcigpLCAi
KSIpOworICAgICAgICByZXR1cm47CisjZW5kaWYKICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5K
U1N0YWNrOgogICAgICAgICBvdXQucHJpbnQoIippbnQ1MigiLCB2aXJ0dWFsUmVnaXN0ZXIoKSwg
IikiKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9WYWx1ZVJlY292ZXJ5LmgKaW5kZXggNWU0M2JjNzJiYmNjNGZmOTdhNjhmODNkYTgzMDk0ZTU4
ZGEzYjMxNC4uMDgyMjRlZDdjYTViNThmMTVjZDllMWMwMzZiZmU1M2RmYjhhYzM5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBAIC02MCw2
ICs2MCw5IEBAIGVudW0gVmFsdWVSZWNvdmVyeVRlY2huaXF1ZSA6IHVpbnQ4X3QgewogICAgIERp
c3BsYWNlZEluSlNTdGFjaywKICAgICAvLyBJdCdzIGluIHRoZSBzdGFjaywgYXQgYSBkaWZmZXJl
bnQgbG9jYXRpb24sIGFuZCBpdCdzIHVuYm94ZWQuCiAgICAgSW50MzJEaXNwbGFjZWRJbkpTU3Rh
Y2ssCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFj
aywgLy8gaW50MzIgc3RvcmVkIGluIHRhZyBmaWVsZAorI2VuZGlmCiAgICAgSW50NTJEaXNwbGFj
ZWRJbkpTU3RhY2ssCiAgICAgU3RyaWN0SW50NTJEaXNwbGFjZWRJbkpTU3RhY2ssCiAgICAgRG91
YmxlRGlzcGxhY2VkSW5KU1N0YWNrLApAQCAtMTg3LDcgKzE5MCwxOSBAQCBwdWJsaWM6CiAgICAg
ICAgIHJlc3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQotICAgIAorCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICBzdGF0aWMgVmFsdWVS
ZWNvdmVyeSBjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKFZpcnR1YWxSZWdpc3RlciB2
aXJ0dWFsUmVnLCBib29sIGluVGFnKQorICAgIHsKKyAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1
bHQ7CisgICAgICAgIFVuaW9uVHlwZSB1OworICAgICAgICB1LnZpcnR1YWxSZWcgPSB2aXJ0dWFs
UmVnLm9mZnNldCgpOworICAgICAgICByZXN1bHQubV9zb3VyY2UgPSBXVEZNb3ZlKHUpOworICAg
ICAgICByZXN1bHQubV90ZWNobmlxdWUgPSBpblRhZyA/IEludDMyVGFnRGlzcGxhY2VkSW5KU1N0
YWNrIDogSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s7CisgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgfQorI2VuZGlmCisKICAgICBzdGF0aWMgVmFsdWVSZWNvdmVyeSBjb25zdGFudChKU1ZhbHVl
IHZhbHVlKQogICAgIHsKICAgICAgICAgVmFsdWVSZWNvdmVyeSByZXN1bHQ7CkBAIC0yNTgsNiAr
MjczLDkgQEAgcHVibGljOgogICAgICAgICBzd2l0Y2ggKG1fdGVjaG5pcXVlKSB7CiAgICAgICAg
IGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5K
U1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdEaXNw
bGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNT
dGFjazoKICAgICAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICAg
ICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0yODIsNiArMzAwLDkgQEAgcHVi
bGljOgogICAgICAgICAgICAgcmV0dXJuIERhdGFGb3JtYXRKUzsKICAgICAgICAgY2FzZSBVbmJv
eGVkSW50MzJJbkdQUjoKICAgICAgICAgY2FzZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNp
ZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0
YWNrOgorI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gRGF0YUZvcm1hdEludDMyOwogICAgICAg
ICBjYXNlIFVuYm94ZWRJbnQ1MkluR1BSOgogICAgICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5K
U1N0YWNrOgpAQCAtMzU4LDYgKzM3OSw5IEBAIHB1YmxpYzoKICAgICAgICAgc3dpdGNoIChtX3Rl
Y2huaXF1ZSkgewogICAgICAgICBjYXNlIERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2Fz
ZSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjazoKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAg
ICBjYXNlIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrOgorI2VuZGlmCiAgICAgICAgIGNhc2Ug
RG91YmxlRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIENlbGxEaXNwbGFjZWRJbkpT
U3RhY2s6CiAgICAgICAgIGNhc2UgQm9vbGVhbkRpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmlu
ZGV4IDZhMGYyNTIwZWEzN2U3YjYzNjRhYTVhNDdiMDMzN2Y3NjkyNTQ2ZmUuLmQ0ZjQ0MjU3ZDc4
NTI1NGU4YjA5ZmEwOWIyNmZjMDA5OWJmYzAxNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNzQyLDYgKzc0Miw4
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG51bVBhc3NlZEFyZ3M7IGkgPCBudW1B
bGxvY2F0ZWRBcmdzOyArK2kpCiAgICAgICAgICAgICAgICAgc2h1ZmZsZURhdGEuYXJnc1tpXSA9
IFZhbHVlUmVjb3Zlcnk6OmNvbnN0YW50KGpzVW5kZWZpbmVkKCkpOworCisgICAgICAgICAgICBz
aHVmZmxlRGF0YS5zZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMobV9qaXQuY29kZUJsb2NrKCkpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTMyKG51bVBhc3NlZEFyZ3MpLCBtX2ppdC5jYWxsZWVGcmFtZVBheWxvYWRT
bG90KENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKSk7CiAgICAgICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWNoZWRSZWNvdmVyeS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAppbmRleCBm
NGFhY2M2YzgwZWU1NTA5MDg0Nzc4NTM2ZWM3YjA4NmMxODgyMzAzLi4wMGU3MWY0ODdkYjMyYThj
ZGQxNmU1NjIwMjMzMWM1MWZiOTFlMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NhY2hlZFJlY292ZXJ5LmNwcApAQCAtNTIsNyArNTIsOSBAQCBib29sIENhY2hlZFJlY292ZXJ5
Ojpsb2Fkc0ludG9HUFIoKSBjb25zdAogewogICAgIHN3aXRjaCAocmVjb3ZlcnkoKS50ZWNobmlx
dWUoKSkgewogICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6Ci0jaWYgVVNFKEpTVkFM
VUU2NCkKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJ
bkpTU3RhY2s6CisjZWxpZiBVU0UoSlNWQUxVRTY0KQogICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJ
bkpTU3RhY2s6CiAgICAgY2FzZSBTdHJpY3RJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICBj
YXNlIERpc3BsYWNlZEluSlNTdGFjazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHAKaW5kZXggMzJkNmU0YzBiMzZiZmQ2MWQxNTA1MmY4
NWExMmNhZWNlM2JiYjU1Mi4uY2YxNWNlMTk5ZWQzNzZhZjE1MGU4ODdmM2VlZDAyZmExNWRjN2Iy
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxl
RGF0YS5jcHAKQEAgLTMzLDggKzMzLDYgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiBVU0Uo
SlNWQUxVRTY0KQotCiB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVS
ZWdpc3RlcnMoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7CiAgICAgc2V0dXBDYWxsZWVTYXZlUmVn
aXN0ZXJzKGNvZGVCbG9jay0+Y2FsbGVlU2F2ZVJlZ2lzdGVycygpKTsKQEAgLTQ5LDkgKzQ3LDI0
IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhj
b25zdCBSZWdpc3RlckF0T2Zmc2V0TGlzdCoKICAgICAgICAgaWYgKCFjYWxsZWVTYXZlUmVnaXN0
ZXJzLmdldChlbnRyeS5yZWcoKSkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBW
aXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBlbnRyeS5vZmZzZXRBc0luZGV4KCkgfTsKKyAgICAg
ICAgaW50IHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyA9IGVudHJ5Lm9mZnNldEFzSW5kZXgo
KTsKKworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgICAgIC8vIENQVSByZWdpc3RlcnMgYXJlIHRo
ZSBzYW1lIHNpemUgYXMgdmlydHVhbCByZWdpc3RlcnMKKyAgICAgICAgVmlydHVhbFJlZ2lzdGVy
IHNhdmVTbG90IHsgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIH07CiAgICAgICAgIHJlZ2lz
dGVyc1tlbnRyeS5yZWcoKV0KICAgICAgICAgICAgID0gVmFsdWVSZWNvdmVyeTo6ZGlzcGxhY2Vk
SW5KU1N0YWNrKHNhdmVTbG90LCBEYXRhRm9ybWF0SlMpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82
NCkKKyAgICAgICAgLy8gT24gMzItYml0IGFyY2hpdGVjdHVyZXMsIDIgY2FsbGVlIHNhdmVkIHJl
Z2lzdGVycyBtYXkgYmUgcGFja2VkIGludG8gdGhlIHNhbWUgc2xvdAorICAgICAgICBzdGF0aWNf
YXNzZXJ0KCFQYXlsb2FkT2Zmc2V0IHx8ICFUYWdPZmZzZXQpOworICAgICAgICBzdGF0aWNfYXNz
ZXJ0KFBheWxvYWRPZmZzZXQgPT0gNCB8fCBUYWdPZmZzZXQgPT0gNCk7CisgICAgICAgIGJvb2wg
aW5UYWcgPSAoc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzICYgMSkgPT0gISFUYWdPZmZzZXQ7
CisgICAgICAgIGlmIChzYXZlU2xvdEluZGV4SW5DUFVSZWdpc3RlcnMgPCAwKQorICAgICAgICAg
ICAgc2F2ZVNsb3RJbmRleEluQ1BVUmVnaXN0ZXJzIC09IDE7IC8vIFJvdW5kIHRvd2FyZHMgLWlu
ZgorICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4SW5DUFVS
ZWdpc3RlcnMgLyAyIH07CisgICAgICAgIHJlZ2lzdGVyc1tlbnRyeS5yZWcoKV0KKyAgICAgICAg
ICAgID0gVmFsdWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNlZEluSlNTdGFjayhzYXZl
U2xvdCwgaW5UYWcpOworI2VuZGlmCiAgICAgfQogCiAgICAgZm9yIChSZWcgcmVnID0gUmVnOjpm
aXJzdCgpOyByZWcgPD0gUmVnOjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0KCkpIHsKQEAgLTYxLDEy
ICs3NCwxNCBAQCB2b2lkIENhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVSZWdp
c3RlcnMoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqCiAgICAgICAgIGlmIChyZWdpc3RlcnNb
cmVnXSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAg
ICAgcmVnaXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjppblJlZ2lzdGVyKHJlZywgRGF0YUZv
cm1hdEpTKTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIHJlZ2lzdGVyc1tyZWdd
ID0gVmFsdWVSZWNvdmVyeTo6aW5SZWdpc3RlcihyZWcsIERhdGFGb3JtYXRJbnQzMik7CisjZW5k
aWYKICAgICB9CiB9CiAKLSNlbmRpZiAvLyBVU0UoSlNWQUxVRTY0KQotCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAogI2VuZGlmIC8vIEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKaW5kZXggYzZiNzBmMDVkMTA5YjE4NWY0ZDEy
YmM3MDlmOGY3NjdjYmJmMWYzNy4uMzM2NTdlMzNhNjRmMzc4MWY0MzA5OThjMTMzMzcxYTFhYTY0
Yjc1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVm
ZmxlRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZs
ZURhdGEuaApAQCAtNDQsMTMgKzQ0LDEzIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBudW1Mb2Nh
bHMgeyBVSU5UX01BWCB9OwogICAgIHVuc2lnbmVkIG51bVBhc3NlZEFyZ3MgeyBVSU5UX01BWCB9
OwogICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnMgeyBVSU5UX01BWCB9OyAvLyBPbiBvdXIgbWFj
aGluZSBmcmFtZS4KLSNpZiBVU0UoSlNWQUxVRTY0KQogICAgIFJlZ2lzdGVyTWFwPFZhbHVlUmVj
b3Zlcnk+IHJlZ2lzdGVyczsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIEdQUlJlZyBudW1iZXJU
YWdSZWdpc3RlciB7IEludmFsaWRHUFJSZWcgfTsKKyNlbmRpZgogCiAgICAgdm9pZCBzZXR1cENh
bGxlZVNhdmVSZWdpc3RlcnMoQ29kZUJsb2NrKik7CiAgICAgdm9pZCBzZXR1cENhbGxlZVNhdmVS
ZWdpc3RlcnMoY29uc3QgUmVnaXN0ZXJBdE9mZnNldExpc3QqKTsKLSNlbmRpZgogICAgIFZhbHVl
UmVjb3ZlcnkgY2FsbGVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DYWxsRnJhbWVTaHVmZmxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Nh
bGxGcmFtZVNodWZmbGVyLmNwcAppbmRleCAzYjUzNzRkYTE2NmZmNzE5OWY1ZmFlNDU1YWE2NjYz
ZWJkZWU1M2Q1Li45MzBhYmEyMTI2MDNkYzZiYTM3ZjQ5ZTkyMDliM2Q5YzJhNWJkZDNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNwcApAQCAt
NTIsMTMgKzUyLDggQEAgQ2FsbEZyYW1lU2h1ZmZsZXI6OkNhbGxGcmFtZVNodWZmbGVyKENDYWxs
SGVscGVycyYgaml0LCBjb25zdCBDYWxsRnJhbWVTaHVmZmxlRGEKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSBGUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVyczsgaS0tOyApCiAgICAgICAgIG1fbG9ja2Vk
UmVnaXN0ZXJzLmNsZWFyKEZQUkluZm86OnRvUmVnaXN0ZXIoaSkpOwogCi0jaWYgVVNFKEpTVkFM
VUU2NCkKLSAgICAvLyAuLi4gYXMgd2VsbCBhcyB0aGUgcnVudGltZSByZWdpc3RlcnMgb24gNjQt
Yml0IGFyY2hpdGVjdHVyZXMuCi0gICAgLy8gSG93ZXZlciBkbyBub3QgdXNlIHRoZXNlIHJlZ2lz
dGVycyBvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcyBzaW5jZQotICAgIC8vIHNhdmluZyBhbmQgcmVz
dG9yaW5nIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgaW4gQ2FsbEZyYW1lU2h1ZmZsZXIgaXNuJ3Qg
c3VwcG9ydGVkCi0gICAgLy8gb24gMzItYml0IGFyY2hpdGVjdHVyZXMgeWV0LgorICAgIC8vIC4u
LiBhcyB3ZWxsIGFzIHRoZSBjYWxsZWUgc2F2ZWQgcmVnaXN0ZXJzCiAgICAgbV9sb2NrZWRSZWdp
c3RlcnMuZXhjbHVkZShSZWdpc3RlclNldDo6dm1DYWxsZWVTYXZlUmVnaXN0ZXJzKCkpOwotI2Vu
ZGlmCiAKICAgICBBU1NFUlQoIWRhdGEuY2FsbGVlLmlzSW5KU1N0YWNrKCkgfHwgZGF0YS5jYWxs
ZWUudmlydHVhbFJlZ2lzdGVyKCkuaXNMb2NhbCgpKTsKICAgICBhZGROZXcoQ2FsbEZyYW1lU2xv
dDo6Y2FsbGVlLCBkYXRhLmNhbGxlZSk7CkBAIC02OCwxNyArNjMsMjEgQEAgQ2FsbEZyYW1lU2h1
ZmZsZXI6OkNhbGxGcmFtZVNodWZmbGVyKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBDYWxsRnJh
bWVTaHVmZmxlRGEKICAgICAgICAgYWRkTmV3KHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50SW5j
bHVkaW5nVGhpcyhpKSwgZGF0YS5hcmdzW2ldKTsKICAgICB9CiAKLSNpZiBVU0UoSlNWQUxVRTY0
KQogICAgIGZvciAoUmVnIHJlZyA9IFJlZzo6Zmlyc3QoKTsgcmVnIDw9IFJlZzo6bGFzdCgpOyBy
ZWcgPSByZWcubmV4dCgpKSB7CiAgICAgICAgIGlmICghZGF0YS5yZWdpc3RlcnNbcmVnXS5pc1Nl
dCgpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKHJlZy5pc0dQUigpKQor
ICAgICAgICBpZiAocmVnLmlzR1BSKCkpIHsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICAg
ICAgYWRkTmV3KEpTVmFsdWVSZWdzKHJlZy5ncHIoKSksIGRhdGEucmVnaXN0ZXJzW3JlZ10pOwot
ICAgICAgICBlbHNlCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgYWRkTmV3
KHJlZy5ncHIoKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7CisjZW5kaWYKKyAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICBhZGROZXcocmVnLmZwcigpLCBkYXRhLnJlZ2lzdGVyc1tyZWddKTsKICAg
ICB9CiAKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgIG1fbnVtYmVyVGFnUmVnaXN0ZXIgPSBkYXRh
Lm51bWJlclRhZ1JlZ2lzdGVyOwogICAgIGlmIChtX251bWJlclRhZ1JlZ2lzdGVyICE9IEludmFs
aWRHUFJSZWcpCiAgICAgICAgIGxvY2tHUFIobV9udW1iZXJUYWdSZWdpc3Rlcik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKaW5kZXggZTA0OGE0ZGNh
NjY2NTY5OTFhMDQzYWU5NGI4MDBiYjExNDE2MGIwYy4uYTE3NjI0NGUxZTMwOTU2Njc3MzQ2MGFk
MjA2NTBlMTliYzNkYWQ2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9D
YWxsRnJhbWVTaHVmZmxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZy
YW1lU2h1ZmZsZXIuaApAQCAtMTE2LDYgKzExNiwxNSBAQCBwdWJsaWM6CiAKICNpZiBVU0UoSlNW
QUxVRTY0KQogICAgICAgICAgICAgZGF0YS5yZWdpc3RlcnNbcmVnXSA9IGNhY2hlZFJlY292ZXJ5
LT5yZWNvdmVyeSgpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgICAgIFZhbHVl
UmVjb3ZlcnkgcmVjb3ZlcnkgPSBjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKTsKKyAgICAgICAg
ICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBEaXNwbGFjZWRJbkpTU3RhY2spIHsKKyAg
ICAgICAgICAgICAgICBKU1ZhbHVlUmVncyB3YW50ZWRKU1ZhbHVlUmVnID0gY2FjaGVkUmVjb3Zl
cnktPndhbnRlZEpTVmFsdWVSZWdzKCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHJlZyA9PSB3
YW50ZWRKU1ZhbHVlUmVnLnBheWxvYWRHUFIoKSB8fCByZWcgPT0gd2FudGVkSlNWYWx1ZVJlZy50
YWdHUFIoKSk7CisgICAgICAgICAgICAgICAgYm9vbCBpblRhZyA9IHJlZyA9PSB3YW50ZWRKU1Zh
bHVlUmVnLnRhZ0dQUigpOworICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10gPSBW
YWx1ZVJlY292ZXJ5OjpjYWxsZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKHJlY292ZXJ5LnZp
cnR1YWxSZWdpc3RlcigpLCBpblRhZyk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
ICAgICBkYXRhLnJlZ2lzdGVyc1tyZWddID0gcmVjb3Zlcnk7CiAjZWxzZQogICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgpAQCAtNjYzLDYgKzY3MiwzMiBA
QCBwcml2YXRlOgogICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3Mo
anNWYWx1ZVJlZ3MpOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgdm9pZCBh
ZGROZXcoR1BSUmVnIGdwciwgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSkKKyAgICB7CisgICAgICAg
IEFTU0VSVChncHIgIT0gSW52YWxpZEdQUlJlZyAmJiAhbV9uZXdSZWdpc3RlcnNbZ3ByXSk7Cisg
ICAgICAgIEFTU0VSVChyZWNvdmVyeS50ZWNobmlxdWUoKSA9PSBJbnQzMkRpc3BsYWNlZEluSlNT
dGFjaworICAgICAgICAgICAgfHwgcmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJUYWdEaXNw
bGFjZWRJbkpTU3RhY2spOworICAgICAgICBDYWNoZWRSZWNvdmVyeSogY2FjaGVkUmVjb3Zlcnkg
PSBhZGRDYWNoZWRSZWNvdmVyeShyZWNvdmVyeSk7CisgICAgICAgIGlmIChKU1ZhbHVlUmVncyBv
bGRSZWdzIHsgY2FjaGVkUmVjb3ZlcnktPndhbnRlZEpTVmFsdWVSZWdzKCkgfSkgeworICAgICAg
ICAgICAgLy8gQ29tYmluZSB3aXRoIHRoZSBvdGhlciBDU1IgaW4gdGhlIHNhbWUgdmlydHVhbCBy
ZWdpc3RlciBzbG90CisgICAgICAgICAgICBBU1NFUlQob2xkUmVncy50YWdHUFIoKSA9PSBJbnZh
bGlkR1BSUmVnKTsKKyAgICAgICAgICAgIEFTU0VSVChvbGRSZWdzLnBheWxvYWRHUFIoKSAhPSBJ
bnZhbGlkR1BSUmVnICYmIG9sZFJlZ3MucGF5bG9hZEdQUigpICE9IGdwcik7CisgICAgICAgICAg
ICBpZiAocmVjb3ZlcnkudGVjaG5pcXVlKCkgPT0gSW50MzJEaXNwbGFjZWRJbkpTU3RhY2spIHsK
KyAgICAgICAgICAgICAgICBBU1NFUlQoY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCkudGVjaG5p
cXVlKCkgPT0gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2spOworICAgICAgICAgICAgICAgIGNh
Y2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVncyhvbGRSZWdzLnBh
eWxvYWRHUFIoKSwgZ3ByKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IEFTU0VSVChjYWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMkRp
c3BsYWNlZEluSlNTdGFjayk7CisgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdh
bnRlZEpTVmFsdWVSZWdzKEpTVmFsdWVSZWdzKGdwciwgb2xkUmVncy5wYXlsb2FkR1BSKCkpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRSZWNvdmVyeSgK
KyAgICAgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5OjpkaXNwbGFjZWRJbkpTU3RhY2socmVjb3Zl
cnkudmlydHVhbFJlZ2lzdGVyKCksIERhdGFGb3JtYXRKUykpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIGNhY2hlZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhKU1ZhbHVlUmVn
czo6cGF5bG9hZE9ubHkoZ3ByKSk7CisgICAgICAgIG1fbmV3UmVnaXN0ZXJzW2dwcl0gPSBjYWNo
ZWRSZWNvdmVyeTsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQgYWRkTmV3KEZQUlJlZyBmcHIs
IFZhbHVlUmVjb3ZlcnkgcmVjb3ZlcnkpCiAgICAgewogICAgICAgICBBU1NFUlQoZnByICE9IElu
dmFsaWRGUFJSZWcgJiYgIW1fbmV3UmVnaXN0ZXJzW2Zwcl0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82NC5jcHAKaW5kZXggNWRmZTk2
ZTgxZWM5ZjZmYTlmNzdhMGQ2NTE1NjcyNTNiMTZlNzYwOS4uMmZlZjUzZGE2MGEyZTc1YTQ3YzY0
ZjhkMzA0MGM0NjIyMmJiODhlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DYWxsRnJhbWVTaHVmZmxlcjMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQuY3BwCkBAIC0xMjQsOCArMTI0LDExIEBAIHZvaWQg
Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKENhY2hlZFJlY292ZXJ5JiBsb2NhdGlvbikKICAg
ICAgICAgaWYgKHJlc3VsdEdQUiA9PSBJbnZhbGlkR1BSUmVnIHx8IG1fcmVnaXN0ZXJzW3Jlc3Vs
dEdQUl0gfHwgbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHJlc3VsdEdQUikpCiAgICAgICAgICAgICBy
ZXN1bHRHUFIgPSBnZXRGcmVlR1BSKCk7CiAgICAgICAgIEFTU0VSVChyZXN1bHRHUFIgIT0gSW52
YWxpZEdQUlJlZyk7Ci0gICAgICAgIG1faml0LmxvYWRQdHIoYWRkcmVzcy53aXRoT2Zmc2V0KFBh
eWxvYWRPZmZzZXQpLCByZXN1bHRHUFIpOwotICAgICAgICB1cGRhdGVSZWNvdmVyeShsb2NhdGlv
biwgCisgICAgICAgIGlmIChsb2NhdGlvbi5yZWNvdmVyeSgpLnRlY2huaXF1ZSgpID09IEludDMy
VGFnRGlzcGxhY2VkSW5KU1N0YWNrKQorICAgICAgICAgICAgbV9qaXQubG9hZFB0cihhZGRyZXNz
LndpdGhPZmZzZXQoVGFnT2Zmc2V0KSwgcmVzdWx0R1BSKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgbV9qaXQubG9hZFB0cihhZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJl
c3VsdEdQUik7CisgICAgICAgIHVwZGF0ZVJlY292ZXJ5KGxvY2F0aW9uLAogICAgICAgICAgICAg
VmFsdWVSZWNvdmVyeTo6aW5HUFIocmVzdWx0R1BSLCBsb2NhdGlvbi5yZWNvdmVyeSgpLmRhdGFG
b3JtYXQoKSkpOwogICAgICAgICBpZiAodmVyYm9zZSkKICAgICAgICAgICAgIGRhdGFMb2cobG9j
YXRpb24ucmVjb3ZlcnkoKSwgIlxuIik7CkBAIC0xOTAsMjggKzE5MywxOCBAQCB2b2lkIENhbGxG
cmFtZVNodWZmbGVyOjplbWl0RGlzcGxhY2UoQ2FjaGVkUmVjb3ZlcnkmIGxvY2F0aW9uKQogICAg
IGlmICh3YW50ZWRUYWdHUFIgIT0gSW52YWxpZEdQUlJlZykgewogICAgICAgICBBU1NFUlQoIW1f
bG9ja2VkUmVnaXN0ZXJzLmdldCh3YW50ZWRUYWdHUFIpKTsKICAgICAgICAgaWYgKENhY2hlZFJl
Y292ZXJ5KiBjdXJyZW50VGFnIHsgbV9yZWdpc3RlcnNbd2FudGVkVGFnR1BSXSB9KSB7Ci0gICAg
ICAgICAgICBpZiAoY3VycmVudFRhZyA9PSAmbG9jYXRpb24pIHsKLSAgICAgICAgICAgICAgICBp
ZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRU
YWdHUFIsICIgaXMgT0tcbiIpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAvLyBUaGlzIGNhbiBuZXZlciBoYXBwZW4gb24gMzJiaXQgcGxhdGZvcm1zIHNpbmNlIHdlCi0g
ICAgICAgICAgICAgICAgLy8gaGF2ZSBhdCBtb3N0IG9uZSB3YW50ZWQgSlNWYWx1ZVJlZ3MsIGZv
ciB0aGUKLSAgICAgICAgICAgICAgICAvLyBjYWxsZWUsIGFuZCBubyBjYWxsZWUtc2F2ZSByZWdp
c3RlcnMuCi0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGN1cnJlbnRUYWcgPT0gJmxv
Y2F0aW9uKTsKKyAgICAgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFM
b2coIiAgICsgIiwgd2FudGVkVGFnR1BSLCAiIGlzIE9LXG4iKTsKICAgICAgICAgfQogICAgIH0K
IAogICAgIGlmICh3YW50ZWRQYXlsb2FkR1BSICE9IEludmFsaWRHUFJSZWcpIHsKICAgICAgICAg
QVNTRVJUKCFtX2xvY2tlZFJlZ2lzdGVycy5nZXQod2FudGVkUGF5bG9hZEdQUikpOwogICAgICAg
ICBpZiAoQ2FjaGVkUmVjb3ZlcnkqIGN1cnJlbnRQYXlsb2FkIHsgbV9yZWdpc3RlcnNbd2FudGVk
UGF5bG9hZEdQUl0gfSkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnRQYXlsb2FkID09ICZsb2Nh
dGlvbikgewotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAg
ICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFBheWxvYWRHUFIsICIgaXMgT0tcbiIpOwotICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBTZWUgYWJvdmUKLSAgICAgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoY3VycmVudFBheWxvYWQgPT0gJmxvY2F0aW9uKTsKKyAgICAg
ICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2Fu
dGVkUGF5bG9hZEdQUiwgIiBpcyBPS1xuIik7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvR1BSSW5mby5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9HUFJJbmZvLmgKaW5kZXggNWZmNjI0NzQxYWI3MGU4YzA0MzViZGY5ZDI1YjE5
MTQ2MDM4MWQ5ZS4uMmY3Y2Y1YWJiYjM5OWNhNzQ0M2VhYzgzMjAzMmY2YzA3M2I0MmJjOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9HUFJJbmZvLmgKQEAgLTUzOCw3ICs1MzgsNyBAQCBwdWJsaWM6
CiBjbGFzcyBHUFJJbmZvIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEdQUlJlZyBSZWdpc3RlclR5
cGU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDk7
CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlJlZ2lzdGVycyA9IDEwOwog
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZBcmd1bWVudFJlZ2lzdGVycyA9
IE5VTUJFUl9PRl9BUkdVTUVOVF9SRUdJU1RFUlM7CiAKICAgICAvLyBUZW1wb3JhcnkgcmVnaXN0
ZXJzLgpAQCAtNTY3LDcgKzU2Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgR1BSUmVnIHRvUmVn
aXN0ZXIodW5zaWduZWQgaW5kZXgpCiAgICAgewogICAgICAgICBBU1NFUlQoaW5kZXggPCBudW1i
ZXJPZlJlZ2lzdGVycyk7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBHUFJSZWcgcmVnaXN0ZXJGb3JJ
bmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzLCBy
ZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MxIH07CisgICAgICAgIHN0YXRpYyBjb25z
dCBHUFJSZWcgcmVnaXN0ZXJGb3JJbmRleFtudW1iZXJPZlJlZ2lzdGVyc10gPSB7IHJlZ1QwLCBy
ZWdUMSwgcmVnVDIsIHJlZ1QzLCByZWdUNCwgcmVnVDUsIHJlZ1Q2LCByZWdUNywgcmVnQ1MwLCBy
ZWdDUzEgfTsKICAgICAgICAgcmV0dXJuIHJlZ2lzdGVyRm9ySW5kZXhbaW5kZXhdOwogICAgIH0K
IApAQCAtNTgzLDcgKzU4Myw3IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKHJlZyAhPSBJbnZh
bGlkR1BSUmVnKTsKICAgICAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludD4ocmVnKSA8IDE2KTsK
ICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGluZGV4Rm9yUmVnaXN0ZXJbMTZdID0KLSAg
ICAgICAgICAgIHsgMCwgMSwgMiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgs
IDQsIDUsIDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgsIEludmFs
aWRJbmRleCwgSW52YWxpZEluZGV4IH07CisgICAgICAgICAgICB7IDAsIDEsIDIsIDMsIDcsIDYs
IEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCA0LCA1LCA5LCA4LCBJbnZhbGlkSW5kZXgsIElu
dmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsKICAgICAgICAgdW5zaWdu
ZWQgcmVzdWx0ID0gaW5kZXhGb3JSZWdpc3RlcltyZWddOwogICAgICAgICByZXR1cm4gcmVzdWx0
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJT
ZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAKaW5kZXgg
YzUyOWQ3NGFmZWM4ZWE4NjZjMDg2NDY0OTU0YmY3OWExMDhiM2Q5MS4uNjQ2Y2Q0ZjkzNTJlNzQw
ZWVhOWU2MjQ2MTNkYTI2NDJkZmNiNmMwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9SZWdpc3RlclNldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlclNldC5jcHAKQEAgLTI1NCw2ICsyNTQsNyBAQCBSZWdpc3RlclNldCBSZWdpc3RlclNl
dDo6ZGZnQ2FsbGVlU2F2ZVJlZ2lzdGVycygpCiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdD
UzYpOwogI2VuZGlmCiAjZWxpZiBDUFUoQVJNX1RIVU1CMikKKyAgICByZXN1bHQuc2V0KEdQUklu
Zm86OnJlZ0NTMCk7CiAgICAgcmVzdWx0LnNldChHUFJJbmZvOjpyZWdDUzEpOwogI2VsaWYgQ1BV
KEFSTTY0KQogICAgIHN0YXRpY19hc3NlcnQoR1BSSW5mbzo6cmVnQ1M4ID09IEdQUkluZm86Om51
bWJlclRhZ1JlZ2lzdGVyLCAiIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCmluZGV4IDUwZDVkYmRmNjAyYTkx
OTZiZDVjYTUxOTQwMjY0ZmZkODlkNzA2YjQuLmU2ODk3ZGFmMmUyOWEyYWM4NzkyMWYwY2JhZmMz
MWI5YTIxODcwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCkBAIC03OSw4ICs3OSw2IEBAIGVuZAogIyBB
ZnRlciBjYWxsaW5nLCBjYWxsaW5nIGJ5dGVjb2RlIGlzIGNsYWltaW5nIGlucHV0IHJlZ2lzdGVy
cyBhcmUgbm90IHVzZWQuCiBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbChzaXplLCBvcGNvZGVTdHJ1
Y3QsIHZhbHVlUHJvZmlsZU5hbWUsIGRzdFZpcnR1YWxSZWdpc3RlciwgZGlzcGF0Y2gpCiAgICAg
bG9hZGkgQXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKLSAg
ICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgUEIKLSAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1
Y3Rpb25zUmF3UG9pbnRlcltQQl0sIFBCCiAgICAgZ2V0KHNpemUsIG9wY29kZVN0cnVjdCwgZHN0
VmlydHVhbFJlZ2lzdGVyLCB0MykKICAgICBzdG9yZWkgcjEsIFRhZ09mZnNldFtjZnIsIHQzLCA4
XQogICAgIHN0b3JlaSByMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442578</attachid>
            <date>2021-10-27 04:53:25 -0700</date>
            <delta_ts>2021-10-27 08:34:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230622-20211027115324.patch</filename>
            <type>text/plain</type>
            <size>21858</size>
            <attacher name="Geza Lore">glore</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
M2RmMWNhN2Y3OWUwNWE3MjQyZmIxNjUxMzhhNDU5Mjc3ZTA3ZThiLi40NGVlYjQ2NjIxM2MzZGVl
OWJhZmU4MTQ4OTk0NzAwODVjNjljNzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MyBAQAorMjAyMS0xMC0yNyAgR2V6YSBMb3JlICA8Z2xvcmVAaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVszMmJpdF0gRml4IENTUiByZXN0b3JlIG9uIERGRyB0YWlsIGNhbGxzLCBh
ZGQgZXh0cmEgcmVnaXN0ZXIgb24gQVJNdjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDYyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoaXMgcmUtaW50cm9kdWNlcyB0aGUgcGF0Y2ggcmV2ZXJ0ZWQg
YnkKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzI4NDkxMS93ZWJr
aXQKKyAgICAgICAgd2l0aCB0aGUgQ19MT09QIGludGVycHJldGVyIG5vdyBmaXhlZC4KKworICAg
ICAgICBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG9yaWdpbmFsIHBhdGNoIGFuZCB0
aGlzIHZlcnNpb24gaXMgaW4KKyAgICAgICAgTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBh
bmQgTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSwgd2hpY2gKKyAgICAgICAgbmVlZCB0aGUgUEMg
YmFzZSAoUEIpIHJlZ2lzdGVyIHJlc3RvcmVkIG9uIENfTE9PUCBvbiByZXR1cm4gZnJvbSBhCisg
ICAgICAgIGNhbGwsIGFzIENfTE9PUCBkb2VzIG5vdCBzZWVtIHRvIGhhbmRsZSB0aGlzIGFzIGEg
cHJvcGVyIGNhbGxlZSBzYXZlCisgICAgICAgIHJlZ2lzdGVyIChDU1IpLiBPbiBub24gQ19MT09Q
IGJ1aWxkcywgdGhlIENTUiByZXN0b3JlIG1lY2hhbmlzbSB0YWtlcworICAgICAgICBjYXJlIG9m
IHRoaXMsIHNvIHJlbW92ZWQgdGhlIHN1cGVyZmx1b3VzIGluc3RydWN0aW9ucy4KKworICAgICAg
ICAtLS0gT3JpZ2luYWwgQ2hhbmdlTG9nIC0tLQorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyB0
d28gdGhpbmdzOgorCisgICAgICAgIDEuIEFkZHMgYW4gZXh0cmEgY2FsbGVlIHNhdmUgcmVnaXN0
ZXIgKENTUikgdG8gYmUgYXZhaWxhYmxlIHRvIERGRyBvbgorICAgICAgICBBUk12Ny4gVG8gZG8g
dGhpcyBwcm9wZXJseSByZXF1aXJlZCB0aGUgZm9sbG93aW5nOgorCisgICAgICAgIDIuIEltcGxl
bWVudHMgdGhlIG5lY2Vzc2FyeSBzaHVmZmxpbmcgaW4gQ2FsbEZyYW1lU2h1ZmZsZXIgb24gMzIt
Yml0CisgICAgICAgIGFyY2hpdGVjdHVyZXMgdGhhdCBpcyByZXF1aXJlZCB0byByZXN0b3JlIENT
UnMgcHJvcGVybHkgYWZ0ZXIgYSB0YWlsCisgICAgICAgIGNhbGwgb24gdGhlc2UgYXJjaGl0ZWN0
dXJlcy4gVGhpcyBhbHNvIGZpeGVzIHRoZSByZW1haW5pbmcgZmFpbHVyZXMgaW4KKyAgICAgICAg
dGhlIDMyLWJpdCBidWlsZCBvZiB0aGUgdW5saW5rZWQgYmFzZWxpbmUgSklULgorCisgICAgICAg
ICogYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHA6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zl
cnk6OmR1bXBJbkNvbnRleHQgY29uc3QpOgorICAgICAgICAqIGJ5dGVjb2RlL1ZhbHVlUmVjb3Zl
cnkuaDoKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6Y2FsbGVlU2F2ZVJlZ0Rpc3BsYWNl
ZEluSlNTdGFjayk6CisgICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OmlzSW5KU1N0YWNrIGNv
bnN0KToKKyAgICAgICAgKEpTQzo6VmFsdWVSZWNvdmVyeTo6ZGF0YUZvcm1hdCBjb25zdCk6Cisg
ICAgICAgIChKU0M6OlZhbHVlUmVjb3Zlcnk6OndpdGhMb2NhbHNPZmZzZXQgY29uc3QpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwpOgorICAgICAgICAqIGppdC9DYWNoZWRSZWNvdmVy
eS5jcHA6CisgICAgICAgIChKU0M6OkNhY2hlZFJlY292ZXJ5Ojpsb2Fkc0ludG9HUFIgY29uc3Qp
OgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5jcHA6CisgICAgICAgIChKU0M6
OkNhbGxGcmFtZVNodWZmbGVEYXRhOjpzZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMpOgorICAgICAg
ICAqIGppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5oOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVT
aHVmZmxlci5jcHA6CisgICAgICAgIChKU0M6OkNhbGxGcmFtZVNodWZmbGVyOjpDYWxsRnJhbWVT
aHVmZmxlcik6CisgICAgICAgICogaml0L0NhbGxGcmFtZVNodWZmbGVyLmg6CisgICAgICAgIChK
U0M6OkNhbGxGcmFtZVNodWZmbGVyOjpzbmFwc2hvdCBjb25zdCk6CisgICAgICAgIChKU0M6OkNh
bGxGcmFtZVNodWZmbGVyOjphZGROZXcpOgorICAgICAgICAqIGppdC9DYWxsRnJhbWVTaHVmZmxl
cjMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXRMb2FkKToK
KyAgICAgICAgKEpTQzo6Q2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXREaXNwbGFjZSk6CisgICAgICAg
ICogaml0L0dQUkluZm8uaDoKKyAgICAgICAgKEpTQzo6R1BSSW5mbzo6dG9SZWdpc3Rlcik6Cisg
ICAgICAgIChKU0M6OkdQUkluZm86OnRvSW5kZXgpOgorICAgICAgICAqIGppdC9SZWdpc3RlclNl
dC5jcHA6CisgICAgICAgIChKU0M6OlJlZ2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJz
KToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAg
ICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisKIDIwMjEtMTAtMjYgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjg0MjU1LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1ZhbHVlUmVjb3ZlcnkuY3BwCmluZGV4IGU0MjQ1ZWFiZWMzZTMyMjRhNWRhNWZmNzUyNWI1NWRj
OWNhNzAxNjYuLjA4OTYyM2I2ZjRkZjgzOWM1NjRiYWMyYmY0NjEwZWI3N2U1NzMzMjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5jcHAKQEAg
LTk5LDYgKzk5LDExIEBAIHZvaWQgVmFsdWVSZWNvdmVyeTo6ZHVtcEluQ29udGV4dChQcmludFN0
cmVhbSYgb3V0LCBEdW1wQ29udGV4dCogY29udGV4dCkgY29uc3QKICAgICBjYXNlIEludDMyRGlz
cGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBvdXQucHJpbnQoIippbnQzMigiLCB2aXJ0dWFsUmVn
aXN0ZXIoKSwgIikiKTsKICAgICAgICAgcmV0dXJuOworI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisg
ICAgY2FzZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyAgICAgICAgb3V0LnByaW50KCIq
aW50MzJUYWcoIiwgdmlydHVhbFJlZ2lzdGVyKCksICIpIik7CisgICAgICAgIHJldHVybjsKKyNl
bmRpZgogICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CiAgICAgICAgIG91dC5wcmlu
dCgiKmludDUyKCIsIHZpcnR1YWxSZWdpc3RlcigpLCAiKSIpOwogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaAppbmRleCA1
ZTQzYmM3MmJiY2M0ZmY5N2E2OGY4M2RhODMwOTRlNThkYTNiMzE0Li4wODIyNGVkN2NhNWI1OGYx
NWNkOWUxYzAzNmJmZTUzZGZiOGFjMzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9WYWx1ZVJlY292ZXJ5LmgKQEAgLTYwLDYgKzYwLDkgQEAgZW51bSBWYWx1ZVJlY292
ZXJ5VGVjaG5pcXVlIDogdWludDhfdCB7CiAgICAgRGlzcGxhY2VkSW5KU1N0YWNrLAogICAgIC8v
IEl0J3MgaW4gdGhlIHN0YWNrLCBhdCBhIGRpZmZlcmVudCBsb2NhdGlvbiwgYW5kIGl0J3MgdW5i
b3hlZC4KICAgICBJbnQzMkRpc3BsYWNlZEluSlNTdGFjaywKKyNpZiBVU0UoSlNWQUxVRTMyXzY0
KQorICAgIEludDMyVGFnRGlzcGxhY2VkSW5KU1N0YWNrLCAvLyBpbnQzMiBzdG9yZWQgaW4gdGFn
IGZpZWxkCisjZW5kaWYKICAgICBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjaywKICAgICBTdHJpY3RJ
bnQ1MkRpc3BsYWNlZEluSlNTdGFjaywKICAgICBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2ssCkBA
IC0xODcsNyArMTkwLDE5IEBAIHB1YmxpYzoKICAgICAgICAgcmVzdWx0Lm1fc291cmNlID0gV1RG
TW92ZSh1KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNpZiBVU0Uo
SlNWQUxVRTMyXzY0KQorICAgIHN0YXRpYyBWYWx1ZVJlY292ZXJ5IGNhbGxlZVNhdmVSZWdEaXNw
bGFjZWRJbkpTU3RhY2soVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWcsIGJvb2wgaW5UYWcpCisg
ICAgeworICAgICAgICBWYWx1ZVJlY292ZXJ5IHJlc3VsdDsKKyAgICAgICAgVW5pb25UeXBlIHU7
CisgICAgICAgIHUudmlydHVhbFJlZyA9IHZpcnR1YWxSZWcub2Zmc2V0KCk7CisgICAgICAgIHJl
c3VsdC5tX3NvdXJjZSA9IFdURk1vdmUodSk7CisgICAgICAgIHJlc3VsdC5tX3RlY2huaXF1ZSA9
IGluVGFnID8gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2sgOiBJbnQzMkRpc3BsYWNlZEluSlNT
dGFjazsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAgIHN0YXRp
YyBWYWx1ZVJlY292ZXJ5IGNvbnN0YW50KEpTVmFsdWUgdmFsdWUpCiAgICAgewogICAgICAgICBW
YWx1ZVJlY292ZXJ5IHJlc3VsdDsKQEAgLTI1OCw2ICsyNzMsOSBAQCBwdWJsaWM6CiAgICAgICAg
IHN3aXRjaCAobV90ZWNobmlxdWUpIHsKICAgICAgICAgY2FzZSBEaXNwbGFjZWRJbkpTU3RhY2s6
CiAgICAgICAgIGNhc2UgSW50MzJEaXNwbGFjZWRJbkpTU3RhY2s6CisjaWYgVVNFKEpTVkFMVUUz
Ml82NCkKKyAgICAgICAgY2FzZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyNlbmRpZgog
ICAgICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIFN0cmlj
dEludDUyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIERvdWJsZURpc3BsYWNlZElu
SlNTdGFjazoKQEAgLTI4Miw2ICszMDAsOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4g
RGF0YUZvcm1hdEpTOwogICAgICAgICBjYXNlIFVuYm94ZWRJbnQzMkluR1BSOgogICAgICAgICBj
YXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAg
ICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgICAg
IHJldHVybiBEYXRhRm9ybWF0SW50MzI7CiAgICAgICAgIGNhc2UgVW5ib3hlZEludDUySW5HUFI6
CiAgICAgICAgIGNhc2UgSW50NTJEaXNwbGFjZWRJbkpTU3RhY2s6CkBAIC0zNTgsNiArMzc5LDkg
QEAgcHVibGljOgogICAgICAgICBzd2l0Y2ggKG1fdGVjaG5pcXVlKSB7CiAgICAgICAgIGNhc2Ug
RGlzcGxhY2VkSW5KU1N0YWNrOgogICAgICAgICBjYXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNr
OgorI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAgIGNhc2UgSW50MzJUYWdEaXNwbGFjZWRJ
bkpTU3RhY2s6CisjZW5kaWYKICAgICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6
CiAgICAgICAgIGNhc2UgQ2VsbERpc3BsYWNlZEluSlNTdGFjazoKICAgICAgICAgY2FzZSBCb29s
ZWFuRGlzcGxhY2VkSW5KU1N0YWNrOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggNmQxNmI5ZDU0NjU1ZDBiZTdlNDZj
YjlhMzk3NWRkN2RhY2ZiMjFhOC4uMTg4NjY5ODJiNTY2MjhmMmIxYWVkNGI5NTBkODJjMTVlYTQz
NTNhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwCkBAIC03NDIsNiArNzQyLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
ZW1pdENhbGwoTm9kZSogbm9kZSkKICAgICAgICAgICAgIAogICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gbnVtUGFzc2VkQXJnczsgaSA8IG51bUFsbG9jYXRlZEFyZ3M7ICsraSkKICAgICAg
ICAgICAgICAgICBzaHVmZmxlRGF0YS5hcmdzW2ldID0gVmFsdWVSZWNvdmVyeTo6Y29uc3RhbnQo
anNVbmRlZmluZWQoKSk7CisKKyAgICAgICAgICAgIHNodWZmbGVEYXRhLnNldHVwQ2FsbGVlU2F2
ZVJlZ2lzdGVycyhtX2ppdC5jb2RlQmxvY2soKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICBtX2ppdC5zdG9yZTMyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIobnVtUGFzc2Vk
QXJncyksIG1faml0LmNhbGxlZUZyYW1lUGF5bG9hZFNsb3QoQ2FsbEZyYW1lU2xvdDo6YXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXMpKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NhY2hlZFJlY292ZXJ5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwCmluZGV4IGY0YWFjYzZjODBlZTU1MDkwODQ3Nzg1MzZl
YzdiMDg2YzE4ODIzMDMuLjAwZTcxZjQ4N2RiMzJhOGNkZDE2ZTU2MjAyMzMxYzUxZmI5MWUwMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FjaGVkUmVjb3ZlcnkuY3BwCkBAIC01
Miw3ICs1Miw5IEBAIGJvb2wgQ2FjaGVkUmVjb3Zlcnk6OmxvYWRzSW50b0dQUigpIGNvbnN0CiB7
CiAgICAgc3dpdGNoIChyZWNvdmVyeSgpLnRlY2huaXF1ZSgpKSB7CiAgICAgY2FzZSBJbnQzMkRp
c3BsYWNlZEluSlNTdGFjazoKLSNpZiBVU0UoSlNWQUxVRTY0KQorI2lmIFVTRShKU1ZBTFVFMzJf
NjQpCisgICAgY2FzZSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjazoKKyNlbGlmIFVTRShKU1ZB
TFVFNjQpCiAgICAgY2FzZSBJbnQ1MkRpc3BsYWNlZEluSlNTdGFjazoKICAgICBjYXNlIFN0cmlj
dEludDUyRGlzcGxhY2VkSW5KU1N0YWNrOgogICAgIGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0
YS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmNw
cAppbmRleCAzMmQ2ZTRjMGIzNmJmZDYxZDE1MDUyZjg1YTEyY2FlY2UzYmJiNTUyLi5jZjE1Y2Ux
OTllZDM3NmFmMTUwZTg4N2YzZWVkMDJmYTE1ZGM3YjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmNwcApAQCAtMzMsOCArMzMsNiBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKIAotI2lmIFVTRShKU1ZBTFVFNjQpCi0KIHZvaWQgQ2FsbEZy
YW1lU2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhDb2RlQmxvY2sqIGNvZGVC
bG9jaykKIHsKICAgICBzZXR1cENhbGxlZVNhdmVSZWdpc3RlcnMoY29kZUJsb2NrLT5jYWxsZWVT
YXZlUmVnaXN0ZXJzKCkpOwpAQCAtNDksOSArNDcsMjQgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxl
RGF0YTo6c2V0dXBDYWxsZWVTYXZlUmVnaXN0ZXJzKGNvbnN0IFJlZ2lzdGVyQXRPZmZzZXRMaXN0
KgogICAgICAgICBpZiAoIWNhbGxlZVNhdmVSZWdpc3RlcnMuZ2V0KGVudHJ5LnJlZygpKSkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIFZpcnR1YWxSZWdpc3RlciBzYXZlU2xvdCB7
IGVudHJ5Lm9mZnNldEFzSW5kZXgoKSB9OworICAgICAgICBpbnQgc2F2ZVNsb3RJbmRleEluQ1BV
UmVnaXN0ZXJzID0gZW50cnkub2Zmc2V0QXNJbmRleCgpOworCisjaWYgVVNFKEpTVkFMVUU2NCkK
KyAgICAgICAgLy8gQ1BVIHJlZ2lzdGVycyBhcmUgdGhlIHNhbWUgc2l6ZSBhcyB2aXJ0dWFsIHJl
Z2lzdGVycworICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgc2F2ZVNsb3QgeyBzYXZlU2xvdEluZGV4
SW5DUFVSZWdpc3RlcnMgfTsKICAgICAgICAgcmVnaXN0ZXJzW2VudHJ5LnJlZygpXQogICAgICAg
ICAgICAgPSBWYWx1ZVJlY292ZXJ5OjpkaXNwbGFjZWRJbkpTU3RhY2soc2F2ZVNsb3QsIERhdGFG
b3JtYXRKUyk7CisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAvLyBPbiAzMi1iaXQg
YXJjaGl0ZWN0dXJlcywgMiBjYWxsZWUgc2F2ZWQgcmVnaXN0ZXJzIG1heSBiZSBwYWNrZWQgaW50
byB0aGUgc2FtZSBzbG90CisgICAgICAgIHN0YXRpY19hc3NlcnQoIVBheWxvYWRPZmZzZXQgfHwg
IVRhZ09mZnNldCk7CisgICAgICAgIHN0YXRpY19hc3NlcnQoUGF5bG9hZE9mZnNldCA9PSA0IHx8
IFRhZ09mZnNldCA9PSA0KTsKKyAgICAgICAgYm9vbCBpblRhZyA9IChzYXZlU2xvdEluZGV4SW5D
UFVSZWdpc3RlcnMgJiAxKSA9PSAhIVRhZ09mZnNldDsKKyAgICAgICAgaWYgKHNhdmVTbG90SW5k
ZXhJbkNQVVJlZ2lzdGVycyA8IDApCisgICAgICAgICAgICBzYXZlU2xvdEluZGV4SW5DUFVSZWdp
c3RlcnMgLT0gMTsgLy8gUm91bmQgdG93YXJkcyAtaW5mCisgICAgICAgIFZpcnR1YWxSZWdpc3Rl
ciBzYXZlU2xvdCB7IHNhdmVTbG90SW5kZXhJbkNQVVJlZ2lzdGVycyAvIDIgfTsKKyAgICAgICAg
cmVnaXN0ZXJzW2VudHJ5LnJlZygpXQorICAgICAgICAgICAgPSBWYWx1ZVJlY292ZXJ5OjpjYWxs
ZWVTYXZlUmVnRGlzcGxhY2VkSW5KU1N0YWNrKHNhdmVTbG90LCBpblRhZyk7CisjZW5kaWYKICAg
ICB9CiAKICAgICBmb3IgKFJlZyByZWcgPSBSZWc6OmZpcnN0KCk7IHJlZyA8PSBSZWc6Omxhc3Qo
KTsgcmVnID0gcmVnLm5leHQoKSkgewpAQCAtNjEsMTIgKzc0LDE0IEBAIHZvaWQgQ2FsbEZyYW1l
U2h1ZmZsZURhdGE6OnNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhjb25zdCBSZWdpc3RlckF0T2Zm
c2V0TGlzdCoKICAgICAgICAgaWYgKHJlZ2lzdGVyc1tyZWddKQogICAgICAgICAgICAgY29udGlu
dWU7CiAKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICByZWdpc3RlcnNbcmVnXSA9IFZhbHVl
UmVjb3Zlcnk6OmluUmVnaXN0ZXIocmVnLCBEYXRhRm9ybWF0SlMpOworI2VsaWYgVVNFKEpTVkFM
VUUzMl82NCkKKyAgICAgICAgcmVnaXN0ZXJzW3JlZ10gPSBWYWx1ZVJlY292ZXJ5OjppblJlZ2lz
dGVyKHJlZywgRGF0YUZvcm1hdEludDMyKTsKKyNlbmRpZgogICAgIH0KIH0KIAotI2VuZGlmIC8v
IFVTRShKU1ZBTFVFNjQpCi0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5kaWYgLy8gRU5BQkxF
KEpJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1
ZmZsZURhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZURh
dGEuaAppbmRleCBjNmI3MGYwNWQxMDliMTg1ZjRkMTJiYzcwOWY4Zjc2N2NiYmYxZjM3Li4zMzY1
N2UzM2E2NGYzNzgxZjQzMDk5OGMxMzMzNzFhMWFhNjRiNzVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVEYXRhLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlRGF0YS5oCkBAIC00NCwxMyArNDQsMTMg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG51bUxvY2FscyB7IFVJTlRfTUFYIH07CiAgICAgdW5z
aWduZWQgbnVtUGFzc2VkQXJncyB7IFVJTlRfTUFYIH07CiAgICAgdW5zaWduZWQgbnVtUGFyYW1l
dGVycyB7IFVJTlRfTUFYIH07IC8vIE9uIG91ciBtYWNoaW5lIGZyYW1lLgotI2lmIFVTRShKU1ZB
TFVFNjQpCiAgICAgUmVnaXN0ZXJNYXA8VmFsdWVSZWNvdmVyeT4gcmVnaXN0ZXJzOworI2lmIFVT
RShKU1ZBTFVFNjQpCiAgICAgR1BSUmVnIG51bWJlclRhZ1JlZ2lzdGVyIHsgSW52YWxpZEdQUlJl
ZyB9OworI2VuZGlmCiAKICAgICB2b2lkIHNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhDb2RlQmxv
Y2sqKTsKICAgICB2b2lkIHNldHVwQ2FsbGVlU2F2ZVJlZ2lzdGVycyhjb25zdCBSZWdpc3RlckF0
T2Zmc2V0TGlzdCopOwotI2VuZGlmCiAgICAgVmFsdWVSZWNvdmVyeSBjYWxsZWU7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCmluZGV4
IDNiNTM3NGRhMTY2ZmY3MTk5ZjVmYWU0NTVhYTY2NjNlYmRlZTUzZDUuLjkzMGFiYTIxMjYwM2Rj
NmJhMzdmNDllOTIwOWIzZDljMmE1YmRkM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuY3BwCkBAIC01MiwxMyArNTIsOCBAQCBDYWxsRnJhbWVT
aHVmZmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IENhbGxG
cmFtZVNodWZmbGVEYQogICAgIGZvciAodW5zaWduZWQgaSA9IEZQUkluZm86Om51bWJlck9mUmVn
aXN0ZXJzOyBpLS07ICkKICAgICAgICAgbV9sb2NrZWRSZWdpc3RlcnMuY2xlYXIoRlBSSW5mbzo6
dG9SZWdpc3RlcihpKSk7CiAKLSNpZiBVU0UoSlNWQUxVRTY0KQotICAgIC8vIC4uLiBhcyB3ZWxs
IGFzIHRoZSBydW50aW1lIHJlZ2lzdGVycyBvbiA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KLSAgICAv
LyBIb3dldmVyIGRvIG5vdCB1c2UgdGhlc2UgcmVnaXN0ZXJzIG9uIDMyLWJpdCBhcmNoaXRlY3R1
cmVzIHNpbmNlCi0gICAgLy8gc2F2aW5nIGFuZCByZXN0b3JpbmcgY2FsbGVlLXNhdmVkIHJlZ2lz
dGVycyBpbiBDYWxsRnJhbWVTaHVmZmxlciBpc24ndCBzdXBwb3J0ZWQKLSAgICAvLyBvbiAzMi1i
aXQgYXJjaGl0ZWN0dXJlcyB5ZXQuCisgICAgLy8gLi4uIGFzIHdlbGwgYXMgdGhlIGNhbGxlZSBz
YXZlZCByZWdpc3RlcnMKICAgICBtX2xvY2tlZFJlZ2lzdGVycy5leGNsdWRlKFJlZ2lzdGVyU2V0
Ojp2bUNhbGxlZVNhdmVSZWdpc3RlcnMoKSk7Ci0jZW5kaWYKIAogICAgIEFTU0VSVCghZGF0YS5j
YWxsZWUuaXNJbkpTU3RhY2soKSB8fCBkYXRhLmNhbGxlZS52aXJ0dWFsUmVnaXN0ZXIoKS5pc0xv
Y2FsKCkpOwogICAgIGFkZE5ldyhDYWxsRnJhbWVTbG90OjpjYWxsZWUsIGRhdGEuY2FsbGVlKTsK
QEAgLTY4LDE3ICs2MywyMSBAQCBDYWxsRnJhbWVTaHVmZmxlcjo6Q2FsbEZyYW1lU2h1ZmZsZXIo
Q0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IENhbGxGcmFtZVNodWZmbGVEYQogICAgICAgICBhZGRO
ZXcodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnRJbmNsdWRpbmdUaGlzKGkpLCBkYXRhLmFyZ3Nb
aV0pOwogICAgIH0KIAotI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgZm9yIChSZWcgcmVnID0gUmVn
OjpmaXJzdCgpOyByZWcgPD0gUmVnOjpsYXN0KCk7IHJlZyA9IHJlZy5uZXh0KCkpIHsKICAgICAg
ICAgaWYgKCFkYXRhLnJlZ2lzdGVyc1tyZWddLmlzU2V0KCkpCiAgICAgICAgICAgICBjb250aW51
ZTsKIAotICAgICAgICBpZiAocmVnLmlzR1BSKCkpCisgICAgICAgIGlmIChyZWcuaXNHUFIoKSkg
eworI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgICAgICBhZGROZXcoSlNWYWx1ZVJlZ3MocmVn
LmdwcigpKSwgZGF0YS5yZWdpc3RlcnNbcmVnXSk7Ci0gICAgICAgIGVsc2UKKyNlbGlmIFVTRShK
U1ZBTFVFMzJfNjQpCisgICAgICAgICAgICBhZGROZXcocmVnLmdwcigpLCBkYXRhLnJlZ2lzdGVy
c1tyZWddKTsKKyNlbmRpZgorICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGFkZE5ldyhyZWcu
ZnByKCksIGRhdGEucmVnaXN0ZXJzW3JlZ10pOwogICAgIH0KIAorI2lmIFVTRShKU1ZBTFVFNjQp
CiAgICAgbV9udW1iZXJUYWdSZWdpc3RlciA9IGRhdGEubnVtYmVyVGFnUmVnaXN0ZXI7CiAgICAg
aWYgKG1fbnVtYmVyVGFnUmVnaXN0ZXIgIT0gSW52YWxpZEdQUlJlZykKICAgICAgICAgbG9ja0dQ
UihtX251bWJlclRhZ1JlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2Fs
bEZyYW1lU2h1ZmZsZXIuaAppbmRleCAwYzJjMzMxNDkxMWVlOTcwZmEyMDhmMGM1NDY5OWEzNjJi
NjQ1Zjc5Li5iY2I1MmU3OWI4ZmU4MjE0MmVlOGRmM2U1MTU1NzM0OWMyNDlkYzAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJhbWVTaHVmZmxlci5oCkBAIC0xMTcsNiAr
MTE3LDE1IEBAIHB1YmxpYzoKIAogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgICAgICAgICBkYXRh
LnJlZ2lzdGVyc1tyZWddID0gY2FjaGVkUmVjb3ZlcnktPnJlY292ZXJ5KCk7CisjZWxpZiBVU0Uo
SlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSA9IGNhY2hl
ZFJlY292ZXJ5LT5yZWNvdmVyeSgpOworICAgICAgICAgICAgaWYgKHJlY292ZXJ5LnRlY2huaXF1
ZSgpID09IERpc3BsYWNlZEluSlNTdGFjaykgeworICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdz
IHdhbnRlZEpTVmFsdWVSZWcgPSBjYWNoZWRSZWNvdmVyeS0+d2FudGVkSlNWYWx1ZVJlZ3MoKTsK
KyAgICAgICAgICAgICAgICBBU1NFUlQocmVnID09IHdhbnRlZEpTVmFsdWVSZWcucGF5bG9hZEdQ
UigpIHx8IHJlZyA9PSB3YW50ZWRKU1ZhbHVlUmVnLnRhZ0dQUigpKTsKKyAgICAgICAgICAgICAg
ICBib29sIGluVGFnID0gcmVnID09IHdhbnRlZEpTVmFsdWVSZWcudGFnR1BSKCk7CisgICAgICAg
ICAgICAgICAgZGF0YS5yZWdpc3RlcnNbcmVnXSA9IFZhbHVlUmVjb3Zlcnk6OmNhbGxlZVNhdmVS
ZWdEaXNwbGFjZWRJbkpTU3RhY2socmVjb3ZlcnkudmlydHVhbFJlZ2lzdGVyKCksIGluVGFnKTsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGRhdGEucmVnaXN0ZXJzW3JlZ10g
PSByZWNvdmVyeTsKICNlbHNlCiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogI2VuZGlmCkBAIC02NjQsNiArNjczLDMyIEBAIHByaXZhdGU6CiAgICAgICAgIGNhY2hl
ZFJlY292ZXJ5LT5zZXRXYW50ZWRKU1ZhbHVlUmVncyhqc1ZhbHVlUmVncyk7CiAgICAgfQogCisj
aWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICB2b2lkIGFkZE5ldyhHUFJSZWcgZ3ByLCBWYWx1ZVJl
Y292ZXJ5IHJlY292ZXJ5KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdwciAhPSBJbnZhbGlkR1BS
UmVnICYmICFtX25ld1JlZ2lzdGVyc1tncHJdKTsKKyAgICAgICAgQVNTRVJUKHJlY292ZXJ5LnRl
Y2huaXF1ZSgpID09IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrCisgICAgICAgICAgICB8fCByZWNv
dmVyeS50ZWNobmlxdWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNlZEluSlNTdGFjayk7CisgICAgICAg
IENhY2hlZFJlY292ZXJ5KiBjYWNoZWRSZWNvdmVyeSA9IGFkZENhY2hlZFJlY292ZXJ5KHJlY292
ZXJ5KTsKKyAgICAgICAgaWYgKEpTVmFsdWVSZWdzIG9sZFJlZ3MgeyBjYWNoZWRSZWNvdmVyeS0+
d2FudGVkSlNWYWx1ZVJlZ3MoKSB9KSB7CisgICAgICAgICAgICAvLyBDb21iaW5lIHdpdGggdGhl
IG90aGVyIENTUiBpbiB0aGUgc2FtZSB2aXJ0dWFsIHJlZ2lzdGVyIHNsb3QKKyAgICAgICAgICAg
IEFTU0VSVChvbGRSZWdzLnRhZ0dQUigpID09IEludmFsaWRHUFJSZWcpOworICAgICAgICAgICAg
QVNTRVJUKG9sZFJlZ3MucGF5bG9hZEdQUigpICE9IEludmFsaWRHUFJSZWcgJiYgb2xkUmVncy5w
YXlsb2FkR1BSKCkgIT0gZ3ByKTsKKyAgICAgICAgICAgIGlmIChyZWNvdmVyeS50ZWNobmlxdWUo
KSA9PSBJbnQzMkRpc3BsYWNlZEluSlNTdGFjaykgeworICAgICAgICAgICAgICAgIEFTU0VSVChj
YWNoZWRSZWNvdmVyeS0+cmVjb3ZlcnkoKS50ZWNobmlxdWUoKSA9PSBJbnQzMlRhZ0Rpc3BsYWNl
ZEluSlNTdGFjayk7CisgICAgICAgICAgICAgICAgY2FjaGVkUmVjb3ZlcnktPnNldFdhbnRlZEpT
VmFsdWVSZWdzKEpTVmFsdWVSZWdzKG9sZFJlZ3MucGF5bG9hZEdQUigpLCBncHIpKTsKKyAgICAg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgQVNTRVJUKGNhY2hlZFJlY292ZXJ5LT5y
ZWNvdmVyeSgpLnRlY2huaXF1ZSgpID09IEludDMyRGlzcGxhY2VkSW5KU1N0YWNrKTsKKyAgICAg
ICAgICAgICAgICBjYWNoZWRSZWNvdmVyeS0+c2V0V2FudGVkSlNWYWx1ZVJlZ3MoSlNWYWx1ZVJl
Z3MoZ3ByLCBvbGRSZWdzLnBheWxvYWRHUFIoKSkpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgY2FjaGVkUmVjb3ZlcnktPnNldFJlY292ZXJ5KAorICAgICAgICAgICAgICAgIFZhbHVlUmVj
b3Zlcnk6OmRpc3BsYWNlZEluSlNTdGFjayhyZWNvdmVyeS52aXJ0dWFsUmVnaXN0ZXIoKSwgRGF0
YUZvcm1hdEpTKSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY2FjaGVkUmVjb3Zlcnkt
PnNldFdhbnRlZEpTVmFsdWVSZWdzKEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShncHIpKTsKKyAg
ICAgICAgbV9uZXdSZWdpc3RlcnNbZ3ByXSA9IGNhY2hlZFJlY292ZXJ5OworICAgIH0KKyNlbmRp
ZgorCiAgICAgdm9pZCBhZGROZXcoRlBSUmVnIGZwciwgVmFsdWVSZWNvdmVyeSByZWNvdmVyeSkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChmcHIgIT0gSW52YWxpZEZQUlJlZyAmJiAhbV9uZXdSZWdp
c3RlcnNbZnByXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxG
cmFtZVNodWZmbGVyMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DYWxsRnJh
bWVTaHVmZmxlcjMyXzY0LmNwcAppbmRleCA1ZGZlOTZlODFlYzlmNmZhOWY3N2EwZDY1MTU2NzI1
M2IxNmU3NjA5Li4yZmVmNTNkYTYwYTJlNzVhNDdjNjRmOGQzMDQwYzQ2MjIyYmI4OGVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NhbGxGcmFtZVNodWZmbGVyMzJfNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ2FsbEZyYW1lU2h1ZmZsZXIzMl82
NC5jcHAKQEAgLTEyNCw4ICsxMjQsMTEgQEAgdm9pZCBDYWxsRnJhbWVTaHVmZmxlcjo6ZW1pdExv
YWQoQ2FjaGVkUmVjb3ZlcnkmIGxvY2F0aW9uKQogICAgICAgICBpZiAocmVzdWx0R1BSID09IElu
dmFsaWRHUFJSZWcgfHwgbV9yZWdpc3RlcnNbcmVzdWx0R1BSXSB8fCBtX2xvY2tlZFJlZ2lzdGVy
cy5nZXQocmVzdWx0R1BSKSkKICAgICAgICAgICAgIHJlc3VsdEdQUiA9IGdldEZyZWVHUFIoKTsK
ICAgICAgICAgQVNTRVJUKHJlc3VsdEdQUiAhPSBJbnZhbGlkR1BSUmVnKTsKLSAgICAgICAgbV9q
aXQubG9hZFB0cihhZGRyZXNzLndpdGhPZmZzZXQoUGF5bG9hZE9mZnNldCksIHJlc3VsdEdQUik7
Ci0gICAgICAgIHVwZGF0ZVJlY292ZXJ5KGxvY2F0aW9uLCAKKyAgICAgICAgaWYgKGxvY2F0aW9u
LnJlY292ZXJ5KCkudGVjaG5pcXVlKCkgPT0gSW50MzJUYWdEaXNwbGFjZWRJbkpTU3RhY2spCisg
ICAgICAgICAgICBtX2ppdC5sb2FkUHRyKGFkZHJlc3Mud2l0aE9mZnNldChUYWdPZmZzZXQpLCBy
ZXN1bHRHUFIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2ppdC5sb2FkUHRyKGFkZHJl
c3Mud2l0aE9mZnNldChQYXlsb2FkT2Zmc2V0KSwgcmVzdWx0R1BSKTsKKyAgICAgICAgdXBkYXRl
UmVjb3ZlcnkobG9jYXRpb24sCiAgICAgICAgICAgICBWYWx1ZVJlY292ZXJ5OjppbkdQUihyZXN1
bHRHUFIsIGxvY2F0aW9uLnJlY292ZXJ5KCkuZGF0YUZvcm1hdCgpKSk7CiAgICAgICAgIGlmICh2
ZXJib3NlKQogICAgICAgICAgICAgZGF0YUxvZyhsb2NhdGlvbi5yZWNvdmVyeSgpLCAiXG4iKTsK
QEAgLTE5MCwyOCArMTkzLDE4IEBAIHZvaWQgQ2FsbEZyYW1lU2h1ZmZsZXI6OmVtaXREaXNwbGFj
ZShDYWNoZWRSZWNvdmVyeSYgbG9jYXRpb24pCiAgICAgaWYgKHdhbnRlZFRhZ0dQUiAhPSBJbnZh
bGlkR1BSUmVnKSB7CiAgICAgICAgIEFTU0VSVCghbV9sb2NrZWRSZWdpc3RlcnMuZ2V0KHdhbnRl
ZFRhZ0dQUikpOwogICAgICAgICBpZiAoQ2FjaGVkUmVjb3ZlcnkqIGN1cnJlbnRUYWcgeyBtX3Jl
Z2lzdGVyc1t3YW50ZWRUYWdHUFJdIH0pIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50VGFnID09
ICZsb2NhdGlvbikgewotICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAg
ICAgICAgICBkYXRhTG9nKCIgICArICIsIHdhbnRlZFRhZ0dQUiwgIiBpcyBPS1xuIik7Ci0gICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIC8vIFRoaXMgY2FuIG5ldmVyIGhhcHBl
biBvbiAzMmJpdCBwbGF0Zm9ybXMgc2luY2Ugd2UKLSAgICAgICAgICAgICAgICAvLyBoYXZlIGF0
IG1vc3Qgb25lIHdhbnRlZCBKU1ZhbHVlUmVncywgZm9yIHRoZQotICAgICAgICAgICAgICAgIC8v
IGNhbGxlZSwgYW5kIG5vIGNhbGxlZS1zYXZlIHJlZ2lzdGVycy4KLSAgICAgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlQoY3VycmVudFRhZyA9PSAmbG9jYXRpb24pOworICAgICAgICAgICAgaWYg
KHZlcmJvc2UpCisgICAgICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRUYWdHUFIs
ICIgaXMgT0tcbiIpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKHdhbnRlZFBheWxvYWRH
UFIgIT0gSW52YWxpZEdQUlJlZykgewogICAgICAgICBBU1NFUlQoIW1fbG9ja2VkUmVnaXN0ZXJz
LmdldCh3YW50ZWRQYXlsb2FkR1BSKSk7CiAgICAgICAgIGlmIChDYWNoZWRSZWNvdmVyeSogY3Vy
cmVudFBheWxvYWQgeyBtX3JlZ2lzdGVyc1t3YW50ZWRQYXlsb2FkR1BSXSB9KSB7Ci0gICAgICAg
ICAgICBpZiAoY3VycmVudFBheWxvYWQgPT0gJmxvY2F0aW9uKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICsgIiwgd2FudGVk
UGF5bG9hZEdQUiwgIiBpcyBPS1xuIik7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIC8vIFNlZSBhYm92ZQotICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJy
ZW50UGF5bG9hZCA9PSAmbG9jYXRpb24pOworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAg
ICAgICAgICAgICAgZGF0YUxvZygiICAgKyAiLCB3YW50ZWRQYXlsb2FkR1BSLCAiIGlzIE9LXG4i
KTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9HUFJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUkluZm8uaAppbmRl
eCBmZmQ2MjVlNTkzNDFhNTc3NzYzZmI1ODU4ODRhYzRkMTJiNDA2MTc0Li5iMjBlMzMxYjU1Y2Yz
MmExMjkxNzE5MjAwNTNlODVjNDRkNWExM2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0dQUkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0dQUklu
Zm8uaApAQCAtNTUzLDcgKzU1Myw3IEBAIHB1YmxpYzoKIGNsYXNzIEdQUkluZm8gewogcHVibGlj
OgogICAgIHR5cGVkZWYgR1BSUmVnIFJlZ2lzdGVyVHlwZTsKLSAgICBzdGF0aWMgY29uc3RleHBy
IHVuc2lnbmVkIG51bWJlck9mUmVnaXN0ZXJzID0gOTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVu
c2lnbmVkIG51bWJlck9mUmVnaXN0ZXJzID0gMTA7CiAgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNp
Z25lZCBudW1iZXJPZkFyZ3VtZW50UmVnaXN0ZXJzID0gTlVNQkVSX09GX0FSR1VNRU5UX1JFR0lT
VEVSUzsKIAogICAgIC8vIFRlbXBvcmFyeSByZWdpc3RlcnMuCkBAIC01ODIsNyArNTgyLDcgQEAg
cHVibGljOgogICAgIHN0YXRpYyBHUFJSZWcgdG9SZWdpc3Rlcih1bnNpZ25lZCBpbmRleCkKICAg
ICB7CiAgICAgICAgIEFTU0VSVChpbmRleCA8IG51bWJlck9mUmVnaXN0ZXJzKTsKLSAgICAgICAg
c3RhdGljIGNvbnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4W251bWJlck9mUmVnaXN0ZXJzXSA9
IHsgcmVnVDAsIHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0LCByZWdUNSwgcmVnVDYsIHJlZ1Q3
LCByZWdDUzEgfTsKKyAgICAgICAgc3RhdGljIGNvbnN0IEdQUlJlZyByZWdpc3RlckZvckluZGV4
W251bWJlck9mUmVnaXN0ZXJzXSA9IHsgcmVnVDAsIHJlZ1QxLCByZWdUMiwgcmVnVDMsIHJlZ1Q0
LCByZWdUNSwgcmVnVDYsIHJlZ1Q3LCByZWdDUzAsIHJlZ0NTMSB9OwogICAgICAgICByZXR1cm4g
cmVnaXN0ZXJGb3JJbmRleFtpbmRleF07CiAgICAgfQogCkBAIC01OTgsNyArNTk4LDcgQEAgcHVi
bGljOgogICAgICAgICBBU1NFUlQocmVnICE9IEludmFsaWRHUFJSZWcpOwogICAgICAgICBBU1NF
UlQoc3RhdGljX2Nhc3Q8aW50PihyZWcpIDwgMTYpOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgaW5kZXhGb3JSZWdpc3RlclsxNl0gPQotICAgICAgICAgICAgeyAwLCAxLCAyLCAzLCA3
LCA2LCBJbnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgNCwgNSwgOCwgSW52YWxpZEluZGV4LCBJ
bnZhbGlkSW5kZXgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXggfTsK
KyAgICAgICAgICAgIHsgMCwgMSwgMiwgMywgNywgNiwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5k
ZXgsIDQsIDUsIDksIDgsIEludmFsaWRJbmRleCwgSW52YWxpZEluZGV4LCBJbnZhbGlkSW5kZXgs
IEludmFsaWRJbmRleCB9OwogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSBpbmRleEZvclJlZ2lz
dGVyW3JlZ107CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcAppbmRleCBjNTI5ZDc0YWZlYzhlYTg2NmMwODY0NjQ5
NTRiZjc5YTEwOGIzZDkxLi42NDZjZDRmOTM1MmU3NDBlZWE5ZTYyNDYxM2RhMjY0MmRmY2I2YzAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmNwcApAQCAtMjU0LDYg
KzI1NCw3IEBAIFJlZ2lzdGVyU2V0IFJlZ2lzdGVyU2V0OjpkZmdDYWxsZWVTYXZlUmVnaXN0ZXJz
KCkKICAgICByZXN1bHQuc2V0KEdQUkluZm86OnJlZ0NTNik7CiAjZW5kaWYKICNlbGlmIENQVShB
Uk1fVEhVTUIyKQorICAgIHJlc3VsdC5zZXQoR1BSSW5mbzo6cmVnQ1MwKTsKICAgICByZXN1bHQu
c2V0KEdQUkluZm86OnJlZ0NTMSk7CiAjZWxpZiBDUFUoQVJNNjQpCiAgICAgc3RhdGljX2Fzc2Vy
dChHUFJJbmZvOjpyZWdDUzggPT0gR1BSSW5mbzo6bnVtYmVyVGFnUmVnaXN0ZXIsICIiKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
MzJfNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIzMl82NC5hc20KaW5kZXggNGU3MGY4YjE1ZmYwNGZlMDRkZDZkNTY4Nzc2ZjdlYWQ3N2Q4MjM4
OC4uNDU2MmFjYzk5N2Q3YWVlZDVhYTlhYTJjZjE4MmRhODFmMzM1NzUyZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82
NC5hc20KQEAgLTc5LDggKzc5LDExIEBAIGVuZAogIyBBZnRlciBjYWxsaW5nLCBjYWxsaW5nIGJ5
dGVjb2RlIGlzIGNsYWltaW5nIGlucHV0IHJlZ2lzdGVycyBhcmUgbm90IHVzZWQuCiBtYWNybyBk
aXNwYXRjaEFmdGVyQ2FsbChzaXplLCBvcGNvZGVTdHJ1Y3QsIHZhbHVlUHJvZmlsZU5hbWUsIGRz
dFZpcnR1YWxSZWdpc3RlciwgZGlzcGF0Y2gpCiAgICAgbG9hZGkgQXJndW1lbnRDb3VudEluY2x1
ZGluZ1RoaXMgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKLSAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwg
UEIKLSAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zUmF3UG9pbnRlcltQQl0sIFBC
CisgICAgaWYgQ19MT09QIG9yIENfTE9PUF9XSU4KKyAgICAgICAgIyBPbiBub24gQ19MT09QIGJ1
aWxkcywgQ1NSIHJlc3RvcmUgdGFrZXMgY2FyZSBvZiB0aGlzLgorICAgICAgICBsb2FkcCBDb2Rl
QmxvY2tbY2ZyXSwgUEIKKyAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1Jh
d1BvaW50ZXJbUEJdLCBQQgorICAgIGVuZAogICAgIGdldChzaXplLCBvcGNvZGVTdHJ1Y3QsIGRz
dFZpcnR1YWxSZWdpc3RlciwgdDMpCiAgICAgc3RvcmVpIHIxLCBUYWdPZmZzZXRbY2ZyLCB0Mywg
OF0KICAgICBzdG9yZWkgcjAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5k
ZXggMDI5MjBjYTg0MjhhYmQ3YjE4ODI1Njg4Y2VlMzliYWM2OTBjZDkyYS4uYjEzYzg3MTg4Y2Iz
MzQwOTUxZmZlY2UzNTdiMDYwZTdlZDNkOTY0YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KQEAgLTgyLDggKzgyLDEx
IEBAIGVuZAogIyBBZnRlciBjYWxsaW5nLCBjYWxsaW5nIGJ5dGVjb2RlIGlzIGNsYWltaW5nIGlu
cHV0IHJlZ2lzdGVycyBhcmUgbm90IHVzZWQuCiBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbChzaXpl
LCBvcGNvZGVTdHJ1Y3QsIHZhbHVlUHJvZmlsZU5hbWUsIGRzdFZpcnR1YWxSZWdpc3RlciwgZGlz
cGF0Y2gpCiAgICAgbG9hZFBDKCkKLSAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgUEIKLSAgICBs
b2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zUmF3UG9pbnRlcltQQl0sIFBCCisgICAgaWYg
Q19MT09QIG9yIENfTE9PUF9XSU4KKyAgICAgICAgIyBPbiBub24gQ19MT09QIGJ1aWxkcywgQ1NS
IHJlc3RvcmUgdGFrZXMgY2FyZSBvZiB0aGlzLgorICAgICAgICBsb2FkcCBDb2RlQmxvY2tbY2Zy
XSwgUEIKKyAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1Jhd1BvaW50ZXJb
UEJdLCBQQgorICAgIGVuZAogICAgIGdldChzaXplLCBvcGNvZGVTdHJ1Y3QsIGRzdFZpcnR1YWxS
ZWdpc3RlciwgdDEpCiAgICAgc3RvcmVxIHIwLCBbY2ZyLCB0MSwgOF0KICAgICBtZXRhZGF0YShz
aXplLCBvcGNvZGVTdHJ1Y3QsIHQyLCB0MSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>